從數據流級描述“四選一多路選擇器”
用“邏輯等式”代替“門”實例:輸出out的計算是由操作符的邏輯方程完成的。
verilog 程序
—————————————————分割線———————————————————————
module mux4_to_1 (out,i0,i1,i2,i3,s1,s0);
output out;
input i0,i1,i2,i3;
input s1,s0;
assign out = (~s1 & ~s0 & i0)|
(~s1 & s0 & i1)|
(s1 & ~s0 & i2)|
(s1 & s0 & i3);
endmodule
———————————————————分割線———————————————————————————
編輯(compilition) 結果
設置輸入信號
解答:
沒有仿真文件 要仿真的話先要建一個仿真文件: file -> new -> 選擇Other file選項卡 -> Vector Waveform File 然后把輸入輸出端口加進去,再設置輸入的信號,保存,就可以仿真了。 是的,工程名要和仿真的文件名相同,最好保證工程名、主模塊、仿真文件的名字都一樣。 如果還是有問題的話建議重新建工程,有的時候不小心誤操作修改了某個配置就會出現莫名其妙的問題。quartus這個東西也有bug。
processing ---generate functional simiulation artilist后提示成功
查看rtl級網表:
在自己的電腦上就不行
菜鳥求解。
ps:
重建波形文件進行波形仿真之后出現新問題:
Error: Can't continue timing simulation because delay annotation information for design is missing
在網上查找答案:
原因如下
CAUSE: You attempted to simulate a design whose netlist has not been annotated with delay
annotation information by the Timing Analyzer or Fitter. As a result, the Simulator cannot
continue the current timing simulation.
即要對工程進行時序仿真時未編譯工程,導致報錯
解決辦法
ACTION: Successfully run the Timing Analyzer or Fitter before running timing simulation.
即時序仿真之前先編譯工程
在波形仿真之前 點擊工具欄里的三角號,編譯完畢然后波形仿真成功