请问在modelsim下如何进行VHDL和Verilog的混合编程

请问在modelsim下如何进行VHDL和Verilog的混合编程,第1张

如果知道vhdl和verilog各自独立的调用方法 你就会混合编程 因为完全没区别

需要注意 vhdl不区分大小写 而verilog区分

modelsim的编译命令中vcom用于vhdl 而vlog用于verilog

modelsim安装目录下就有demo 路径是C:\modeltech64_xxx\examples\tutorials\mixed

vhdl调用verilog module举例(FD是verilog的)

COMPONENT FD PORT (

Q : out STD_ULOGIC;

D : in STD_ULOGIC;

C : in STD_ULOGIC );

END COMPONENT;

UUT : FD PORT MAP(

Q => O,

D => I,

C => CLK);

verilog调用vhdl entity(FD是vhdl的)

FD FD1(

Q(Q_OUT),

C(CLK);

D(A);

一个是专业级的仿真软件,一个是自带的仿真模块。 用modelsim仿真,运行速度快,仿真性能好,查看各种信号和 *** 作简单,关键是界面交互人性化埃 ISE自带的那个简直就不好用,连波形的放大放小查看都鸡肋的很。 如果你用了modelsim,就再也不想用

你没有关掉ModelSim的情况下,重新运行当然会出现错误,ModelSim一次只能为一个工程编译。

至于简单的方法是有的:

1、你第一次运行ModelSim以后,在Modelsim的Transcript串口,按一下“上”键,会出现一个do XXXXXdo的命令,这条就是运行Modelsim的指令,先不用。你将它改为edit XXXXXdo,单击回车,会d出一个窗口,你可以将窗口内的一下内容前面加上#,目的是为了防止再一次编译库,可以节省时间。弄好以后点击保存,关掉这个窗口。

vlib verilog_libs/altera_ver

vmap altera_ver /verilog_libs/altera_ver

vlog -vlog01compat -work altera_ver {d:/altera/110/quartus/eda/sim_lib/altera_primitivesv}

vlib verilog_libs/lpm_ver

vmap lpm_ver /verilog_libs/lpm_ver

vlog -vlog01compat -work lpm_ver {d:/altera/110/quartus/eda/sim_lib/220modelv}

vlib verilog_libs/sgate_ver

vmap sgate_ver /verilog_libs/sgate_ver

vlog -vlog01compat -work sgate_ver {d:/altera/110/quartus/eda/sim_lib/sgatev}

vlib verilog_libs/altera_mf_ver

vmap altera_mf_ver /verilog_libs/altera_mf_ver

vlog -vlog01compat -work altera_mf_ver {d:/altera/110/quartus/eda/sim_lib/altera_mfv}

vlib verilog_libs/altera_lnsim_ver

vmap altera_lnsim_ver /verilog_libs/altera_lnsim_ver

vlog -sv -work altera_lnsim_ver {d:/altera/110/quartus/eda/sim_lib/altera_lnsimsv}

vlib verilog_libs/cycloneive_ver

vmap cycloneive_ver /verilog_libs/cycloneive_ver

vlog -vlog01compat -work cycloneive_ver {d:/altera/110/quartus/eda/sim_lib/cycloneive_atomsv}

2、你可以在Quartus里面修改你的逻辑代码了,然后修改完了保存以后,直接在Modelsim的Transcript串口,按“上”键,找出刚才的do XXXXXdo命令,然后回车运行即可,此时的Modelsim将会按照你修改后程序进行仿真,但是注意,若主程序的端口和变量发生变化后,你需要修改你的testbench文件,不然报错。

这只是简单的编译,还有不懂的继续追问,若没有请采纳~

在QUARTUS中的信号仿真只能用自身的仿真工具看数字图,据我所知,如果要想在modelsim里面看模拟图像就得编写TEST BENCH文件(这个我不会),如果想直接看模拟的信号图像就在ISE中编译程序,这个可以直接自动生成TEST BENCH文件。我以前用QUARTUS做过类似的DDS,大家可以讨论下。

每次重新调用之前 ise是不是也需要提前编译点神马东东 如果从ISE内调用的 我感觉那个过程是必须的

貌似可以把所有程序拷贝到modelsim的工程下 直接在modelsim的project下改程序 做仿真

应该需要为modelsim编译一下xilinx的library

pll,ram,都要把v文件加入modelsim,或者在主程序里面include并例化。

另外altsyncram貌似是从altera的FPGA中生成的,所以必须加入tb_altera_mfv文件才行。

用modelsim的时候,在sim中选中测试程序,点鼠标右键add->add all signals to wave,这样就行了

或者,在想看的信号所在模块中将这些信号引出来,作为输出,这样在输出中也看得到

以上就是关于请问在modelsim下如何进行VHDL和Verilog的混合编程全部的内容,包括:请问在modelsim下如何进行VHDL和Verilog的混合编程、如何恢复modelsim10.1d中编译仿真后的注释乱码、quartus中修改设计后多次调用modelsim太麻烦了,求简单方法。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10632475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存