作者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/m.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