在Modelsim中使用dsp 48e进行仿真】的更多相关文章

在Modelsim中使用DSP 48E仿真时,需要用到glbl模块,它的调用方法如下所示: vlog -incr GND.v VCC.v FDRE.v DSP48E.vvlog -incr glbl.v vlog  -incr *.v vlog -incr usfir.vvlog -incr usfir_tb.v vsim -voptargs="+acc" usfir_tb glbl 关键是最后一行.它是在使用菜单命令时自动调用记录的,不记得是Xilinx还是Altera器件了.…
在ModelSim中添加Xilinx ISE仿真库 说明: l ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下.如作者是安装在D:\softwares\Modelsim目录下. l ISE软件也最好安装在不带空格的目录下. 1.找到开始菜单->程序->Xilinx ISE Design Suite 11 -> ISE -> Accessories -> Simulation Library Compilation Wizard.…
在ModelSim中添加Xilinx仿真库 说明: l ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下.如作者是安装在D:\softwares\Modelsim目录下. l ISE软件也最好安装在不带空格的目录下. 1.找到开始菜单->程序->Xilinx ISE Design Suite 11 -> ISE -> Accessories -> Simulation Library Compilation Wizard. 2.选…
Vivado中的MIG已经集成了modelsim仿真环境,是不是所有IP 都有这个福利呢,不知道哦,没空去验证. 第一步:使用vivado中的MIG IP生成一堆东西 ,这个过程自己百度.或者是ug586有step by step 的,so easy. 生成之后是这样子的 第二步:在modelsim中增加xilinx库 编译库  tool--> compile simulation libraries 选择modelsim,我只会verilog所以只选择了这个. comiled library…
可以将所有要编译的所有文件的名字做一个list.新建一个文本文档,重命名为vflist vflist内容例子如下(src为文件夹):src/base_addr_chk.vsrc/config_mux.vsrc/glue.vsrc/pargen.vsrc/pci_top.vsrc/retry_count.vsrc/state_machine.vtstbench/bkend_daemon.vtstbench/pci_clk_reset.vtstbench/pci_stim.vtstbench/pci…
.mif和.hex文件都是Quartus支持的数据文件格式,常被用作内存初始化文件.可是,M odelSim却不支持.mif文件,只支持.hex文件格式,这意味着如果你的设计采用了.mif文件 ,你的设计将无法在ModelSim中进行仿真.所以,我们需要用Quartus打开.mif文件,再另存为.hex,然后才能使用.…
     在实际工作中,经常会遇到这样的情况:在硬件调试中采用SignalTap II反复多次编译并最终捕获到问题的原因时,才会发现,原来这个问题是逻辑问题,是可以在仿真环境下发现并快速解决的.先前没能从仿真中发现这个问题,要么是因为尚未或难以创建对应的测试向量,要么是因为仿真环境下的测试向量与真实环境下的测试条件存在微小的差异.对于设计工程师来说,由于缺乏相应的技术能力.开发时间,甚至是耐心,我们不可能像验证工程师那样对设计进行全面的仿真验证:即使仿真验证很充分,在实际应用中的测试也会发现仿真…
Quartus II 15.0 使用 ModelSim SE-64 2019.2 软件进行仿真 ModelSim 仿真 Verilog HDL 时需要编写一个 TestBench 仿真文件,通过仿真文件提供激励信号.可以简单的理解成信号发生器,给我们的代码提供模拟时钟信号.因此编写 TestBench 仿真文件是仿真过程中的一个重要步骤. Quartus II 15.0自身是不提供仿真功能的,但是可以用 Quartus II 15.0 创建 TestBench 仿真文件模板,而我们稍微修改一下这…
在modelsim中不可避免的需要进行文件操作,在窗口中查看代码的操作情况,下面是我自己M序列实验中的一段测试代码 integer i,j ,k,m; integer m_dataFILE , indataFILE , oudataFILE ; :] i_data[:] ; initial begin m_dataFILE = $fopen ("./m_data.dat"); // m序列存储文件 indataFILE = $fopen ("./indata.dat"…
matlab中 fscanf和fpintf是一对,用fprintf写的必须用fscanf来读. fread和fwrite是一对,用fwrite写的必须用fread来读. 同样的数据,使用fprintf和fwrite写下去的是不一样的,但是使用其相应的读命令读上来的数据会是一样的.   文件格式:文本文件(ASCII文件)和二进制文件.我们平时能够用记事本看的文件就是文本文件.‘ 文本文件使用fscanf格式读取.二进制文件用fread读取. 用文本格式写的话可以用十进制 十六进制等读取,但是我觉…
本文介绍如何在matlab的simulink中嵌入C语言进行多输入多输出的仿真:matlab版本位2015b: 创作不易,如果本文帮到了您: 如果本文帮到了您,请帮忙点个赞…
通常我们使用Modelsim进行仿真,是通过图形界面点点点来进行操作,殊不知Modelsim完美支持TCL脚本语言及批处理命令do文件.简单来说就是从你修改完代码后到你重新编译把需要的信号拉出来查看,现在只需要一个动作即可完成.大大提高了工作效率,博主之前也是点点点了好久,最后发现有这么好的仿真技巧,真是相见恨晚. 下面列举一些常见的TCL脚本命令 Run do文件的一些常用命令 #打开现有工程 project open C:/Users/jayash/Desktop/sim/ImageProc…
找到modelsim安装目录下的modelsim.ini文件. 将modelsim.ini的只读属性去掉. 打开quartus软件.选择Launch Simulation Library Compiler. 选择仿真工具modelsim. 设置modelsim路径. 选择需要的器件. 选择库语言. 选择一个合适的输出路径. 开始编译. 编译结束后,将modelsim.ini文件属性修改回只读.    …
最近在玩Altera的FPGA,当我用Quartus II自带的IP核生成ROM时,出现了各种问题,于是在网上各种查资料,终于解决了我的问题.这里做一下小结,方便自己日后查阅. Quartus II 和ISE在仿真和初始化时有些些区别,这里简要介绍一下二者的初始化和仿真步骤:1.用Quartus II创建并仿真ROM Step1:在Quatus II工程下生成一个ROM Step2:编写.mif文件,作为ROM的初始化文件 Step3:将.mif文件拷贝到Modelsim工程下 Step4:进行…
前言 EDA发展的趋势是自动化,使用脚本自动化仿真可以减少不必要的时间浪费. 流程 在windows下新建批处理脚本bat文件(linux下可用shell脚本或者其他,注意给脚本运行权限即可:chmod +x name.sh); 批处理文件或者脚本中内容只有一句话: vsim -do sim.do 把bat脚本与写好的do文件放入sim home 目录:仿真的时候点击bat文件即可. 举个栗子,do文件内容: 1.功能仿真:(器件ep4ce6f17c8,器件不同挂载不同的器件库) #set th…
对于初学者来说写Testbench测试文件还是比较困难的,但Modelsim和quartus ii都提供了模板,下面就如何使用Modelsim提供的模板进行操作. Modelsim提供了很多Testbench模板,我们直接拿过来用可以减少工作量.对源文件编译完后,鼠标光标移到代码编辑窗后才会在菜单栏看到source选项,点Source->Show Language Templates然后会出现一个加载工程,接着你会发现在刚才的文档编辑窗口左边出现了一个Language Templates窗口,展…
本文简单记录一下自己学习<通信原理>的时候调试的一个仿真DVB-C(Cable,数字有线电视)系统中QAM调制和解调的程序.自己一直是研究"信源"方面的东西,所以对"信道"这方面的知识进行实践的机会一直不是很多,做这个小程序的过程中也熟悉了不少相关的知识.在这个程序中,每执行一步操作,都会画出时域信号图和频域信号图,同时会在控制台打印出有关变量的取值,对于理解QAM调制与解调有一定的帮助. 一.DVB-C中QAM的调制与解调 简单介绍DVB-C系统中的Q…
使用打印机的模型是queue中最经典的应用之一,这里就回顾一下queue在这里的使用方法和 起的重要作用. 为了仿真打印状态,这里需要把真实环境中的三个物理模型要建模出来,分别是:打印者,打印 任务,和处理队列. 首先打印者的实现如下所示: class Printer: def __init__(self,ppm): self.page_rate = ppm self.current_task = None self.time_remaining = 0 def tick(self): if s…
发现Xilinx Virtex 5 FPGA中,单个DSP乘法器只支持17位无符号乘法.如果令18位乘数相乘,结果会与正确的乘积不同.…
今天给个程序大家玩玩.因为今天遇到一个问题,就是要向UART发送指令,指令非常多,都是字符串.一直copy 函数 UART ("COMM_1");  UART ("COMM_2");........可是指令有好几十个哦.如果遇上百个岂不是更惨. 如果是C语言,大家肯定想到用数组遍历.不过Verilog中想用数组遍历,我没有尝试过 —— 我这里是字符串不是简单的16进制数.有兴趣的同学可以自己玩玩,大家一起交流.目前我采用的是文件的方式来做 第一步建立一个文件 ,名称…
首先选中波形,然后点击file----datasets. 选中sim文件,然后点击save as. 对所保存的文件命名.完成之后点击done即可. 在完成上述的加载波形之后,会有多个.wlf文件,如上图所示,若要产生对比波形,需要将某个.Wlf中的信号重新加载过来即可,如下图操作. 选中ex1.wlf文件,然后选择objects中的信号,然后点击右键 add---to wave ---selected signal,就会出现下图所示的对比波形.…
原文链接1 原文链接2 如我是一个创业公司,没啥钱,老板给了1000块钱预算,让我去投互联网广告,对我说: “小卡啊!给你1000块钱,我知道你没见过那么多的巨款吧!不要被吓着,尽情去挥霍吧!哦对了,我要让广告在四大门户还有今日头条.微信.QQ空间上都看到,对了,我还要时事看到花费和转化的情况.” 要是没有DSP,那我就懵逼了.我一个小创业公司,就我一个做市场的,而且我就1000快钱,我肯定没办法拿着1000块钱去找新浪.腾讯.网易等等一家家谈吧!那得搞死我.我也没法拿着1000块钱去找专业的媒…
可以的,在wave窗口左下角有一个黑色的logo,你点击它就可以省电路径,只显示port名称,再点击就切换回来了,如图红色圈圈标记的logo,你可以试试!…
如果不开启硬件FPU,代码设置和编译控制建议二选一,否则会出现宏定义重复定义的报错…
本章我们介绍仿真环境搭建是基于Modelsim SE的.Modelsim有很多版本,比如说Modelsim-Altera,但是笔者还是建议大家使用Modelsim-SE,Modelsim-Altera实际是针对Altera 的OEM版本,它事先将Altera的一些IP核仿真库添加到了工具中,但功能上有一些缩减.而Modelsim-SE需要自己手动添加这些仿真库,但是功能更全,而且工作中,工程师更倾向用SE版本,因为今后的FPGA开发中我们会接触更多其他厂商的FPGA,比如Xilinx.Latti…
当对目标模块进行RTL描述后,习惯先会用Modelsim做一下功能仿真.当我们写好Tensbench文件,直接在Modelsim SE中对源文件(design和Testbench)进行编译时,如果源文件中存在相应的语法错误或者逻辑错误,一般都会提示错误大概存在于哪一行,我们找到对应的行修改代码就行了.但是对于有些错误,比如语句中误输入了中文字符(像中文空格),Modelsim编译器只是提示出错,但是不提示错误所在的行数,这样就不利于我们查错.后来我重新在Quartus II中对源文件进行编译,此…
*作者: Ian11122840    时间: 2010-9-27 09:04                                                                                                                                                                * *标题: 菜鸟做设计必看!有关如何做设计的整体思路,以及能否综合的笔记             …
  1. 激励的产生 对于testbench而言,端口应当和被测试的module一一对应.端口分为input,output和inout类型产生激励信号的时候,input对应的端口应当申明为reg, output对应的端口申明为wire,inout端口比较特殊,下面专门讲解. 1)直接赋值. 一般用initial块给信号赋初值,initial块执行一次,always或者forever表示由事件激发反复执行. 举例,一个module module exam(); reg rst_n;reg clk;…
QuartusII 中使用Modelsim对子程序进行仿真 如果采用RTL级仿真那么就没有任何问题,但是如果对子程序采用门级仿真就会出错 解决办法:在Project Navigator中右键需要进行门级仿真的的子工程(仿真文件存在,且无误)set as top level entity 就可以了 注 : RTL 仿真只需要进行Analysis & Synthesis.而门级仿真则需要进行全编译——具体是由于哪一步骤决定还没有进一步追踪…
1.modelsim经常遇到数据位宽不相等的情况,这样往往仿真时是不会出数据的,如果用parameter定义了数据的位宽, 要注意实际的位宽数大于parameter定义参数能表示的位宽时,如: parameter WIDTH = 5'd46,要注意5位的数据宽度最大能表示的数是31,46已经溢出. 2.# ** Warning: (vsim-3015) F:/Company_Prj/Date201409/LowCost/ICS_MyPrj/Src/aic_fir_2ch_64x.v(182): …