feng6464 发表于 2011-4-6 13:39:50

请高人指点,第一个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
为什么这样写,下载到片子里面只叫了一次呢?

哦十全_至芯学员 发表于 2011-4-6 21:38:28

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.以此循环往复。这个程序下载到板子,蜂鸣器应该是叫和不叫之间往复。

fpga_feixiang 发表于 2021-12-14 14:21:35

6666666666666666666
页: [1]
查看完整版本: 请高人指点,第一个FPGA程序