从数据流级描述“四选一多路选择器”
用“逻辑等式”代替“门”实例:输出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.
即时序仿真之前先编译工程
在波形仿真之前 点击工具栏里的三角号,编译完毕然后波形仿真成功