【红色飓风Nano二代测评】LED测试 + ISim仿真
0赞
发表于 4/3/2014 10:50:07 PM
阅读(3212)
首先,我想实现一个从左往右的流水灯,并且一直往复下去。上代码:
module led
(
input CLK,
input RSTn,
output reg [7:0]LED );
reg [19:0]C0;
always @(posedge CLK or negedge RSTn)
if(!RSTn)
begin
LED <= 8'b0000_0001;
C0 <= 20'h0;
end
else
begin
if(C0 == 20'hfffff)
begin
C0 <= 20'h0;
if(LED == 8'b1000_0000)
LED <= 8'b0000_0001;
else LED <= LED << 1;
end
else begin C0 <= C0 + 1'b1; LED <= LED; end
end
endmodule
为了防止左移的时候,会把灯“移灭”,就加了这么一句
if(LED == 8'b1000_0000) LED <= 8'b0000_0001;
也就是,当1移到最左边的时候,将其还原到初始状态0000_0001,为了更清楚的看清时序上仿真图:

话说ISim真的很好用啊!C0是个变量一开始是不会出现在波形图的,这里可以观察到他是因为,变量直接可拖拽到波形图里来,感觉仿真的速度也很不错,总体来说和Modelsim的用法差不多,还有很多功能还等着我去发掘。ISE有一个很爽的地方,就是不用你去编译,只要你一保存他就会将错误的信息打印出来,Quartus 似乎没发现有这功能。
PS:如果视屏不大话,将其转换成GIF上传还是不错的选择啊,嘿嘿~~
