请高人指点,第一个FPGA程序
module fpq(clk,rst_n,fm);
input clk;
input rst_n ; //复位低电平有效
output fm; //高响,低不响
reg cnt ;
always @(posedge clk or negedge rst_n)
if(!rst_n) cnt<=22'd0;
else cnt<=cnt+1'b0;
assign fm =cnt;
endmodule
为什么这样写,下载到片子里面只叫了一次呢? cnt<=cnt+1'b0; 这个应该改为:cnt<=cnt+1'b1; 这是个类似于分频。为了说明,我把cnt看作4位数。
assign fm=cnt;
cnt初始值为4‘b0000.接着cnt开始加1,当cnt为4’b1000时,fm为1(fm=1保持到cnt由4’b1111到4‘b0000).接着cnt接着加1,直到cnt重新为4‘b0000,此时fm为0.以此循环往复。这个程序下载到板子,蜂鸣器应该是叫和不叫之间往复。 6666666666666666666
页:
[1]