作者benkjason (ben)
看板Electronics
标题[请益] Verilog程式写Lattice xp2 点亮LED 询问
时间Thu Jun 4 16:49:00 2015
小弟我最近开始学习Verilog,是一个很菜的初学者~
最近在玩lattice xp2的一块FPGA,
板上有4个Switch开关,4个LED,所以我想利用Switch来控制LED,
4个开关个别控制4颗LED,
4个开关,例如:SW:1110,LED:1110
SW:1010,LED:1010 (1:亮,0:暗)
这是我想要结果,
但现在的情况是SW:1110,LED:1110
但如果改成SW:1010,LED:1111
也就是如果我指控制一个开关,会是正常的~
但如果控制2个开关,LED就会全为1
下列为程式码,想请专家指导一下哪里需要修正,谢谢
程式码如下:
module control_led(clk, rst, sw, led);
input clk, rst, sw;
output led;
wire[3:0]sw;
reg[3:0]led;
always@(posedge clk or negedge rst)
begin
if(!rst)
begin
led<=4'b0000;
end
else
begin
case(sw)
4'b0001: led<=4'b0001;
4'b0010: led<=4'b0010;
4'b0100: led<=4'b0100;
4'b1000: led<=4'b1000;
default: led<=4'b0000;
endcase
end
end
endmodule
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.120.66.84
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Electronics/M.1433407742.A.7A9.html
1F:推 asd1436: 这没有很难啊 在case里面 随便你怎麽去编码阿? 06/04 17:00
2F:→ asd1436: 前提是你这样写 led真的会亮 那你就直接改编码就好了 06/04 17:00
3F:→ asd1436: 自己多试试看 纸上谈兵或是别人告诉你的 不会进步 06/04 17:01
4F:推 a22326284: 4bit 可以有16种变化 16种都建起来 就会依你要的亮了 06/04 19:13
5F:→ duffrose: else begin led <= sw end , 打完收工。 06/04 20:34
6F:推 a22326284: 哈哈 楼上说的对 被case牵制着了-.- 06/04 22:14
7F:推 impression: Input [3:0] sw; 06/05 13:50
8F:推 impression: Output [3:0] led; 06/05 13:52
9F:→ benkjason: 谢谢各位大大~以解决~ 06/09 09:02