Quartus没有自动生成一个testbench 模板的模板,或是找不到在哪里

> 不能生成testbench文件,求助啊
管理员:&&&人数:18977小组积分:200203简介:讨论和学习CPLD/FPGA的空间!在这里我们一同迈向HDL硬件设计开发的大门!我们的口号是:让verilog普及风暴来得更猛烈些吧!此次助学活动EDN将给大家免费派送空PCB板,数量有限,希望大家抓住机会,千万不要错过哦!小组公告学习板购买请访问淘宝店铺:淘宝店链接:/&&|&&&&|&&
需要确认注册邮箱后才能下载,
楼主&&[求助]&
不能生成testbench文件,求助啊
2年会员勋章目前未领取。领取条件:&凡是注册时间两年以上的活跃用户即可领取该勋章。
总积分:108分
发表于 20:29
使用的是SF-CY3开发板,我按照教程一步一步来的,为什么生成不了.vt文件,点processing--start--start testbench template writer后,显示有错误,Error (199001): Run Analysis and Synthesis with top-level entity name &ex0& before running EDA Netlist Writer
和Error: Quartus II 32-bit EDA Netlist Writer was unsuccessful. 1 error, 0 warnings
&向大家求助啊,就是第一个例程ex0。
1楼&&[求助]&
Re:不能生成testbench文件,求助啊
6年会员勋章目前未领取。领取条件:&凡是注册时间六年以上的活跃用户即可领取该勋章。
积分:48535分
总积分:87634分
发表于 20:13
setting里面的simulation tool没有设置好,具体看我们光盘里面的教程
2楼&&[求助]&
Re:不能生成testbench文件,求助啊
6年会员勋章目前未领取。领取条件:&凡是注册时间六年以上的活跃用户即可领取该勋章。
积分:48535分
总积分:87634分
发表于 20:26
setting里面的simulation tool没有设置好,具体看我们光盘里面的教程
3楼&&[求助]&
Re:不能生成testbench文件,求助啊
1年会员勋章目前未领取。领取条件:&凡是注册时间一年以上的活跃用户即可领取该勋章。
总积分:108分
发表于 23:57
testbench文件后缀名到第是.v文件还是.vt文件啊,懵了貌似都可以,看视频教程的时候好像都可以
4楼&&[求助]&
Re:不能生成testbench文件,求助啊
总积分:107分
发表于 18:53
楼主,问题解决了吗?我也遇到同样的问题,我是照着《FPGA/CPLD边学边练。。。》这本书做的
5楼&&[求助]&
Re:不能生成testbench文件,求助啊
总积分:7分
发表于 14:01
以下是引用 特权同学 在 下午 20:26的发言setting里面的simulation tool没有设置好,具体看我们光盘里面的教程
怎么设置,我直接拿光盘里的工程,也这样
6楼&&[求助]&
Re:不能生成testbench文件,求助啊
总积分:7分
发表于 14:01
以下是引用 BitDarnell 在 下午 20:29的发言使用的是SF-CY3开发板,我按照教程一步一步来的,为什么生成不了.vt文件,点processing--start--start testbench template writer后,显示有错误,Error (199001): Run An...
楼主解决了吗
7楼&&[求助]&
Re:不能生成testbench文件,求助啊
6年会员勋章目前未领取。领取条件:&凡是注册时间六年以上的活跃用户即可领取该勋章。
总积分:120分
发表于 05:46
我也是第一次做这个例子。也是同样的问题,我摸索出来了,先执行一下编译就行了。 Processing-》Start Compilation
然后再执行Processing-》Start-》Start testbench template writer
这就成功了
--- 现有 8个主题,共 1页,目前第 1页 ---&&
点击,立即回复。
EDN China官方微信
扫一扫关注,获取电子新知,设计灵感
IC厂商小组
在线研讨会
赞助商链接
2016 EDN China -- Use of this website is subject to its terms of use.
京ICP备号-4 |
京公网安备37 |
新版社区已上线,旧版论坛、博客将停用
1、为防数据丢失,旧版论坛、博客不再接受发帖;
2、老用户只需重设密码,即可直接登录新平台;
3、新版博客将于8月底完美归来,敬请期待;
4、全新论坛、问答,体验升级、手机阅读更方便。这是使用模板系列的最后一篇了,也是最实用的方法。前面提到的,插入文件的方法,适合计算机水平一般的初学者;而用TCL脚本的,则适合喜欢自定义各种奇特功能的专业人士。那么,本次介绍的配置编辑器的方法,就更适合绝大多数码农了。1、安装
2。Sublime Text 3是收费的,也可以破解,这里以Sublime Text 2为例。2、下载插件。因为Sublime还不支持,所以得在上面下载插件。https://.com/search?utf8=%E2%9C%93&q=verilog+sublime要注册个账号才可以下载的。其中要下载三个插件,如下图所示。点击下图所示,就可以下载了,是个ZIP文件。然后全部解压,把里面的文件(如下图所示),全部放到C:\s\\AppData\Roaming\Sublime Text 2\s\User里面。3、enjoy yourself。现在打开Sublime。在View-&syntax下可以看到好了,现在用Sublime打开一个verilog文件,就能看到语法高亮了,代码提示功能也是非常强的。除此之外,它还能自动生成模板。如:always,if,else,,case,for甚至连状态机都可以自动生成。生成的模板,还能用TAB键,自动跳转,非常方便。如果你不喜欢这些插件生成的模板,还可以修改它。4、Sublime的快捷键。+/,注释和取消注释。ctrl+D,向下选词。ctrl+J,合并行。ctrl+F,查找。ctrl+U,软撤消。ctrl+L,选择行。其它的快捷键,可以自己,也可以在Sublime上面找到。5、自动对齐代码。这个功能也要安装插件。首先要安装Package Control。在Sublime,用快捷键Ctrl+`(反引号),打开控制台。(如果控制台的快捷键冲突了,输入快捷键会没反应)也可以在View下面打开。然后把官网https://packagecontrol.io/installation#st2,先点击红色箭头所指的标签,再把红色方框里面的代码copy到控制台,回车。重新启动Sublime,就可以在Preference下面看到Package Control了。进入Package Control,点击Install Package,然后搜索code alignment以安装插件。重新启动Sublime,就有对齐代码的功能了。下面示范一下,首先有下面一段代码。用Ctrl+L选择这几行,然后点Ctrl+=,左下角会出现如下提示。然后输入:,即以:为基准对齐代码,效果如下:多余的空格,可以使用块选择删掉。6、自动生成文件头注释。用快捷键Shift+F9,可以生成文件头注释。每次保存文件时,红色箭头所指的日期都会跟着改变,这样总能知道最后一次修改的时间。此外,你还能配置其它参数,如:Author,Company,Email等。点击下图所示以配置参数。{&Author&:&LeaderHuang&,&Company&:&&,&Email&:&&}这样就能在文件头注释增加Author了。如果你想添加其它注释,可以修改Verilog Automatic.py文件,在第339行附近。7、修改模板。如果你觉得自动生成的模板不符合自己的编码习惯,还可以修改它。用Sublime打开,刚才插件里面的always.tmSnippet。修改成如下示例。其中,$1,$2这些,是生成模板之后,点TAB键,会按照由小到大的顺序自动跳转的地方。而{1:negedge}意思就是点第一次TAB键时,会跳到这里,同时选择negedge。也有些文件写成${1}其实是跟$1一样的,只是推荐写成前者。上图中,出现两次$2,意思是点第二次TAB键时,同时跳到这两个地方,也就能同时修改这两个地方,如下图所示。修改这些Snippet文件时,只要在Sublime上面保存就可以直接生效,不需要重新启动Sublime的。此外,Snippet不一定只用来补全代码,还能当成help(帮助文档)来使用。如下图所示,列出系统函数。8、支持中文。刚装好的sublime是不支持中文的,需要安装插件。在Preference下面打开Package Control。点Install Package,然后,等一会,在弹出的窗口中输入gbk,安装第一个插件,GBK Encoding Support,重新打开Sublime就能正常显示中文了。9、块操作。Shift+鼠标右键或者鼠标中键,可以选择块。选择了某块之后,可以点ctrl+鼠标中键,添加块。10、增加。新建一个qiiCompile.sublime-build文件,注意后缀名,不能搞错。然后用sublime打开它,添加以下内容。{&&: [&D://13.0sp1/quartus/bin64/quartus_map.exe&, &--read_settings_files=on&, &--write_settings_files=off&,&${file_path}/${file_name}&, &-c&, &${file_path}/${file_name}&],&file_regex&: &^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$&,&selector&: &source.qpf, source.QPF&}其中D://13.0sp1/quartus/bin64/quartus_map.exe,是我安装的quartus目录下的编译工具,根据自己的quartus安装目录进行修改就可以了,其它不变。保存在Sublime Text 2\s\User,就可以在tools-&编译系统下,找到qiiCompile了。在编译之前,还是需要使用quartus新建工程的,建好之后,可以关闭。然后在sublime下,新建顶层的.v文件,每次编译都在顶层文件下,输出ctrl + B即可。注意:顶层文件名必须跟工程名相同,否则无法编译。此外,若要使用此编译方法,最好全部使用.v文件,而不用原理图。而且编译之后,不能双击错误定位到.v,而只能由提示的行号,自己定位。11、增加编译系统。具体步骤跟上面一样,但是文件内容不同。iseCompile.sublime-build文件内容如下。{&cmd&: [&C:/Xilinx/14.7/ISE_DS/ISE/bin/nt64/xst.exe&, &-intstyle&, &ise&, &-ifn&,&${file_path}/${file_base_name}.xst&, &-ofn&, &${file_path}/${file_base_name}.stx&],&file_regex&: &^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$&,&selector&: &source.xst, source.XST&}此外,还需要在编译过一次之后,生成了.xst文件,才能用sublime编译。12、利用编译系统做其它事情。上面所说的编译系统,其实就是点ctrl+B,调用某个命令而已。这个命令不一定是编译用的。那么这些命令从哪里来?细心的读者会发现,使用quartus编译的时候,有提示。上面一行,就是前面所调用命令了。如果你会调用modelsim的编译命令,也一样能用ctrl+B调用它。13、添加全文件补全功能。如上图,添加一个all autocomplete插件,让代码补全功能从所有打开的文件里去匹配,而不是只在当前文件里匹配。14、让单引号不再自动补全。sublime自带的单引号补全,让我们在写1'b1的时候,带来麻烦,所以要取消此功能。进入默认的键绑定,把以下内容注释掉。15、增加ctags的导航功能。先在sublime下,安装好ctags插件。把这个ctags58.zip解压在Sublime的安装目录下,我这里是D:\Sublime Text 2\ctags58请注意,ctags.exe的目录,不能搞错。我这里是D:\Sublime Text 2\ctags58\ctags.exe然后在sublime下,Preferences-&浏览程序包,进入ctags目录,打开CTags.sublime-settings把一行,修改成如下图所示。然后,参照上面的qii一例,生成一个,ctags.sublime-build文件内容如下:{&&: [&D:\\Sublime
2\\ctags58\\ctags.exe& ,&-R&, &-f& ,&$file_path/.tags&],&file_regex&: &^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$&,&selector&: &source.v, source.V, source.VT, source.vt&}在你的.v文件,使用ctags编译系统,ctrl+B,这样在你的.v文件的目录下,会生成.tags文件。接下来,在你的.v文件下,就可以使用Navigate to Defination。这样,可以导航到该变量的定义处。16、自动生成例化文件。这个功能需要两个插件,ctags和Verilog Automatic。其中Verilog Automatic,就是能够一键生成文件注释头的插件,此外还有个的功能。先打开你的.v文件,使用,ctrl+B,这样在你的.v文件的目录下,会生成.tags文件。在内部输入/*autoinst*/然后把鼠标的光标移动到sqrt的任一字符,输入Shift+F7,就生成如下图所示。其中,你可以写个snippet,生成补全/**/。17、修改大小写快捷键。大小切换也比较常用,但是ctrl+K ctrk+U,确实比较麻烦,所以也改一下。打开,Preferences-&键绑定-默认,修改成如下图所示。然后,输入ctrl+u,可以切换到大写;+o可以切换到小写。18、让关联.vt文件。使用生成的testbench模板,是.vt文件,而我们的verilog插件没有关联的.vt文件,导致无法使用语法高亮。Preferences-&浏览程序包,进入目录,打开.tmLanguage文件。增加上图所示,白色方框内容,保存,即可关联.vt和.VT文件了。将为您减少类似内容我要收藏358个赞不感兴趣分享到分享到:相关文章还可以输入140字热门频道126.8万人订阅7.7万人订阅46.2万人订阅24.9万人订阅141.3万人订阅你还可用第三方账号来登录请输入你注册的电子邮件地址绑定密保手机*您可用使用此密保手机找回密码及登录*请勿随意泄露手机号,以防被不法分子利用,骗取帐号信息手机号码发送验证码确定电子邮件请输入您的意见和建议请您输入正确的邮箱地址,以便我们和您联系,帮您解决问题。扫描下载手机客户端热门搜词quartusii几个模块怎么调用仿真_百度知道随笔 - 361&
评论 - 26&
&&&&&&&&&&&
现在就开始一步步入手ModelSim,并通过与Quartus无缝衔接实现仿真。本文使用了ModelSim10.0c + QuartusII 10.0,其他版本基本雷同,请自行研究。
看不清图的点开看大图!
1.设置第三方EDA工具
在Tools -& Options中设置ModelSim的安装路径,注意要设置到win32文件夹(64位软件对应的就是win64)。
建立一个工程(依然以加法器为例)。在Assignments -& Settings中设置仿真工具为ModelSim。这样Quartus就能无缝调用ModelSim了。
当然也可以在建立工程的时候就设置仿真工具。
2.编写Testbench
说到Testbench,你可以叫它Testbench,或者Testbenches,但不是Test Bench。说起来,就连Quartus也没注意这个问题,至于原因嘛参见Common Mistakes In Technical Texts一文。文章中还列举了些别的错误用语,包括Flip-flop不能写成Flipflop,等等。文章链接:
我们可以通过Quartus自动生成一个Testbench的模板,选择Processing -& Start -& Start Test Bench Template Writer,等待完成后打开刚才生成的Testbench,默认是保存在simulation\modelsim文件夹下的.vt格式文件。
打开vt文件后可以看到Quartus已经为我们完成了一些基本工作,包括端口部分的代码和接口变量的声明,我们要做的就是在这个做好的模具里添加我们需要的测试代码。
一个最基本的Testbench包含三个部分,信号定义、模块接口和功能代码。
&timescale 1ns/ 1ps表示仿真的单位时间为1ns,精度为1ps。想要进行仿真首先要规定时间单位,而且最好在Testbench里面统一规定时间单位,而不要在工程代码里定义,因为不同的模块如果时间单位不同可能会为仿真带来一些问题,而timescale本身对综合也就是实际电路没有影响。
其实Testbench本身可以看做一个模块或者设备(本例中的模块名为add_vlg_tst),和你自己编写的模块进行通信。通过Testbench模块向待测模块输出信号作为激励,同时接收从待测模块输出的信号来查看结果。因此,在待测模块中的reg型信号在Testbench中就变成了wire,待测模块中的wire型信号在Testbench中则对应为reg型。那么inout怎么办呢,inout型信号也要设成wire,同时要用一个reg型信号作为输出寄存器,同时设置一个三态门,由一个使能信号控制,如:assign inout_sig = out_en ? out_reg : 1&
处理完接口和声明之后,需要自己设置一些激励信号,激励信号的内容就是肯能会输入到待测模块中的波形。下面我们就来写一个简单的测试程序。
首先需要一个复位信号:
rst_n = 0;
#100 rst_n = 1;
initial开头的这个过程在Testbench中只执行一次,#100表示延时了100个时间单位,我们之前已经通过timescale进行了设置,这里延时了100ns。这就有点类似于C语言了,代码通过延时被顺序执行,rst_n在0时刻为低电平(也就是逻辑0),100ns后变成高电平,从而形成了一个上电复位。
其次是时钟,使用always模块来完成:
#10 mclk = ~
always模块中的代码会不断重复执行,利用这个特点,每10ns翻转一次mclk,只是这样还不行,还要给mclk一个初值,就是上面的initial语句。如此便可以生成一个周期为20ns,频率50MHz的方波信号,作为本例的系统时钟。
当然,这个时钟也可以通过initial模块实现。只需添加一个while(1),即死循环。
#10 mclk = ~
Testbench中的很多操作都是不可综合的,同时它的风格也可以比较随意。
设置完时钟和复位,就需要设置输入信号:
#200 a_in = 2;
#200 a_in = 3;
注意这里a_in = 1和b_in = 3是同时发生的,也就是并行的,之后延时200ns,a_in = 2同时b_in = 0,如前面所说,想要实现顺序操作,就需要使用延时,如果两个语句间没有延时,就表示同时执行。还有一点,这个initial语句块和负责复位的initial语句块也是并行的,并且都是从0时刻开始。也就是说,0时刻后经过100ns rst_n复位,再经过100ns(从0时刻起),a_in = 2被执行。
至此,测试程序也完成了,让我们开始仿真吧
3.设置Quartus并调用仿真工具
运行仿真之前,还要设置一下。在Simulation选项卡中配置仿真选项,可以配置仿真语言、仿真时间的格式以及输出目录。选中mpile test bench,点击Test Benches打开Test Benches对话框。
点击New新建一个Test BenchSetting,填入Testbench模块的名称(这里是add_vlg_tst),酌情设置仿真运行的时间(这里设为800ns,只是进入ModelSim后仿真自动执行的时间,不设或随意设置也行),并将刚才编写的Testbench添加进来。
一路OK后,选择Tools -& Run EDA Simulation Tools,有两个选项,RTL Simulation是RTL行为级仿真,只验证功能是否正确,与在哪个芯片上运行无关,仿真前至少需要执行一次Analysis&Synthesis;Gate Level Simulation是门级仿真,涉及到具体的芯片,并且仿真前需要编译工程,在门级仿真中ModelSim会将布局布线后的门级延时体现在波形中,在测试一个具体的工程模块时,应当先进行RTL仿真,之后还要进行门级仿真。
4.ModelSim工具的基本操作
运行RTL Simulation进入ModelSim界面。在这里介绍几个比较重要的部分。
在view菜单中,可以显示和隐藏各种工具窗口。其中Structure窗口显示了测试模块和待测模块的结构:
点击不同的模块,在Objects窗口中可以查看选中模块中的信号,因为除了端口(port)以外,还有很多内部信号默认是不显示波形的,通过将需要的信号拖到Wave窗口中,就能够显示。
工具栏中的
部分是用来控制仿真运行的,左侧红框中的是复位,在文本框里设置要执行的时间,点击右侧红框中的按钮就可以执行了。其他的请自行摸索或参看Help文件。
如果面对一大堆0101感觉很晕,可以在信号列表里选中信号,右键选择要显示的数据格式。
而Wave窗口的左下角有几个小按钮,是用来设置游标的,通过添加游标,可以测量相应的时间,也可以在这里配置时间刻度的格式。
在Wave波形图中,使用滚轮和鼠标右键可以很方便的缩放或选择波形区域,下图就是这个全加器工程的波形图,在复位之后,c_out的值等于a_in与b_in的和,并在时钟上升沿输出。
完整的工程文件(含Testbench)传上:
阅读(...) 评论()}

我要回帖

更多关于 django找不到模板 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信