本人初学FPGA,这是FPGA的一个verilog程序 ,求大神解释一下!各种不懂,谢谢!

moduleLED_4(inputnrst,inputclk,inputBUSY,inputDATA,outputregCS,outputregCONVST,output... module LED_4(
input nrst,
input clk,
input BUSY,
input DATA,
output reg CS,
output reg CONVST,
output reg [3:0]led,
output reg RDATA
);

reg [31:0] counter;
reg clk2;
reg [7:0] i;
reg [3:0] led_reg;

//assign led = led_reg;

always@(posedge clk, negedge nrst) begin
if(!nrst) begin
counter <= 0;
clk2 <= 0;
end
else if (counter == 1250000) begin
counter <= 0;
clk2 = ~clk2;
end
else
counter <= counter + 32'd1;
end
always@(posedge clk2, negedge nrst) begin
if(!nrst)
led <= 4'd0;
else
case (i)
0: begin led <= 4'b0001;i<=i+1; end
1: begin led <= 4'b0010;i<=i+1; end
2: begin led <= 4'b0100;i<=i+1; end
3: begin led <= 4'b1000;i<=0; end
endcase

end

endmodule
展开
 我来答
aegeus
2014-03-13
知道答主
回答量:1
采纳率:0%
帮助的人:1384
展开全部
这个一个很简单的用verilog实现的四个LED轮流闪的程序。

实现的原理是将输入的高频时钟clk做2500000分频,分成肉眼能识别的频率,然后驱动四个LED灯依次闪灯。

代码输入输出好几个管脚都么有使用,建议去掉。有其他问题随时提问,欢迎采纳。
百度网友186dfeac08
2014-03-13 · TA获得超过754个赞
知道小有建树答主
回答量:1074
采纳率:50%
帮助的人:523万
展开全部
最后面那个是个状态机啊,每个CLK2周期,改变一次状态,每个状态对应不同的LED状态,共有4种。
追问
不是很懂状态机,但还是谢谢你!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式