頁:
[1]
Verilog程式與語法問題
最近我設計一組程式 但其中我有寫一個解碼器 但我發現 當輸入S0這次跟上次一樣時 他就不會有輸出呢我有想過有 i f 跟 case 結合 但我不是很懂這2個語法要怎麼結合 有人可以跟我說嗎 新手不好意思 ><
下面我寫的解碼器
module Decoder(S0,CLK,D1,D2,D3,D4);
input S0;
input CLK;
output D1,D2,D3,D4;
reg D1,D2,D3,D4;
always @ (posedge CLK)
begin
case ({S0})
4'd0:begin D1=0;D2=0;D3=0;D4=0; end
4'd1:begin D1=1;D2=0;D3=0;D4=0; end
4'd2:begin D1=0;D2=1;D3=0;D4=0; end
4'd3:begin D1=1;D2=1;D3=0;D4=0; end
4'd4:begin D1=0;D2=0;D3=1;D4=0; end
4'd5:begin D1=1;D2=0;D3=1;D4=0; end
4'd6:begin D1=0;D2=1;D3=1;D4=0; end
4'd7:begin D1=1;D2=1;D3=1;D4=0; end
4'd8:begin D1=0;D2=0;D3=0;D4=1; end
4'd9:begin D1=1;D2=0;D3=0;D4=1; end
4'd10:begin D1=0;D2=1;D3=0;D4=1; end
4'd11:begin D1=1;D2=1;D3=0;D4=1; end
4'd12:begin D1=0;D2=0;D3=1;D4=1; end
4'd13:begin D1=1;D2=0;D3=1;D4=1; end
4'd14:begin D1=0;D2=1;D3=1;D4=1; end
4'd15:begin D1=1;D2=1;D3=1;D4=1; end
endcase
end
endmodule
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> "當輸入S0這次跟上次一樣時 他就不會有輸出呢"
不太懂你這句話的意思 是指輸出沒變?
還有一個問題 原code可以直接寫成
always @ (posedge CLK)
begin
{D4,D3,D2,D1} <= S0;
end
如果我沒看錯的話@@
太久沒寫XDD
i100179398 發表於 2013-9-9 11:26 PM static/image/common/back.gif
"當輸入S0這次跟上次一樣時 他就不會有輸出呢"
不太懂你這句話的意思 是指輸出沒變?
以經解決了 但還是謝謝你喔 {:31:} 有點奇怪, 你這個寫法似乎是blocking , 如果要用clock 敲過, 是否改用non-blocking 較好?
頁:
[1]