目 录
第一章 VHDL文本输入设计方法
1.1 编辑输入并存盘VHDL原文件 1.2 将当前设计设定为工程 1.3 选择VHDL文本编译版本号和排错 1.4 时序仿真 1.5 硬件测试 1.6 部分实验
第二章 全国大学生电子设计竞赛赛题练习
2.1 等精度频率计设计 2.2 数字移相正弦信号发生器设计 2.3 测相仪设计 2.4 逻辑分析相仪设计 2.5 存储示波器设计
第三章 Quartus II设计正弦信号发生器
3.1 顶层VHDL文件设计
3.1.1 创建工程和编辑设计文件 3.1.2 创建工程
3.1.3 编译前设置 3.1.4 编译及了解编译结果 3.2 正弦信号数据ROM定制
3.2.1 设计ROM初始化数据文件 3.2.2 定制ROM元件(DATAROM.VHD) 3.2.3 仿真 3.2.4 引脚锁定、下载和硬件测试 3.2.5 使用嵌入式逻辑分析仪进行实时测试 3.2.6 对配置器件EPCS4/EPCS1编程 3.2.7 了解此工程的RTL电路图
第四章 MATLAB/DSP Builder DSP硬件模块设计
4.1 可控正弦信号发生器设计
4.1.1 建立设计模型 4.1.2 Simulink模型仿真
4.1.3 SignalCompiler使用方法 4.1.4 使用QuartusII实现时序仿真 4.1.5 使用QuartusII硬件测试与硬件实现
4.2 MATLAB窗口使用嵌入式逻辑分析仪SignalTapII(自动设计流程)
4.2.1安装SignalTapII Node模块 4.2.2系统仿真和硬件测试 首先进行系统仿真 4.4 DDS与数字相移信号发生器设计
第五章 Nios嵌入式系统开发向导
5.1 Nios软硬件开发流程; 5.2 Nios软硬件开发流程 5.3 SOPC整体系统生成 5.4 Nios硬件系统生成
第六章 模拟EDA实验及其设计软件使用向导
第1节 PAC _Designer使用向导 第2节 设计直流增益为9的放大器 第3节ispPAC10/20/80简介 第七章 GW48-SOPC/DSP(Cyclone器件)适配板使用说明
第八章 单片机与GW48-PK2实验系统接口说明 第九章 GWDVP-B电子设计竞赛应用板使用说明
第十章 现代计算机组成原理实验适配板、GWAK100A适配板使用说明 第十一章 Nios软件开发
第1节 调试软件 第2节 烧写Flash 第3节 从新定位复位执行程序
第十二章 基于直接VHDL模块的Nios自定义指令设计
第十三章 基于DSP Builder生成模块的Nios自定义指令设计
附录 GW48系列 EDA/SOPC主系统使用说明
1
第一章 VHDL文本输入设计方法
1.1 编辑输入并存盘VHDL原文件
首先应该建立好工作库目录,以作设计工程项目的工作库。例如设文件夹为:E:\\muxfile ,以便将设计过程中的相关文件存储在此。任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关文件的文件夹,此文件夹将被EDA软件默认为工作库(Work Library)。注意,文件夹不能用中文。
然后打开MAX+plusII,选择菜单“File”?“New?”,出现对话框,在框中选中“Text Editor file”,按“OK”按钮,即选中了文本编辑方式。在出现的“Untitled-Text Editor” 文本编辑窗(图1-1)中键入图1-1所示的VHDL程序(2选1多路选择器),毕后,选择菜单“File?Save”,即出现如图1-1所示的“Save As”对话框。首先在“Directories”目录框中选择自己已建立好的存放本文件的目录E:\\MUXFILE(用鼠标双击此目录,使其打开),然后在“File Name”框中键入文件名“MUX21A.VHD”,按“OK”按钮,即把输入的文件放在目录E:\\MUXFILE中了。
注意, 1、VHDL程序文本存盘的文件名必须与文件的实体名一致,如MUX21A.VHD;2、文件的后缀将决定使用的语言形式,在MAX+plusII中,后缀为.VHD表示VHDL文件;后缀为.TDF表示AHDL文件等。如果后缀正确,存盘后对应该语言的文件中的主要关键词都会改变颜色。
1.2 将当前设计设定为工程
为了使Max+plusII能对输入的设计项目进行处理,在编译/综合MUX21A.VHD之前,需要设置此文件为顶层文件,或称工程文件:Project,或者说将此项设计设置成工程:选择菜单“File”?Project?“Set Project to Current File”,当前的设计工程即被指定为MUX21A 。也可以通过选“File”?“Project”?“Name”,在跳出的“Project Name”窗中指定E:\\MUXFILE下的MUX21A.VHD为当前的工程。设定后可以看见MAX+plusII主窗左上方(图1-2)的工程项目路径指向为:“e:\\muxfile\\mux21a”。这个路径指向很重要!
图1-1 在文本编辑窗中输入VHDL文件并存盘 图1-2 设定当前文件为工程
图1-3 选择目标器件 图1-4 设定VHDL编译版本号
如果设计项目由多个设计文件组成,则应该将它们的主文件,即顶层文件设置成Project。如果要对其中某一底层文件进行单独编译、仿真和测试,也必须首先将其设置成Projcet。为了获得与目标器件对应的,精确的时序仿真文件,在对文件编译前必须选定最后实现本设计项目的目标器件,在Max+plusII环境中主要选Altera公司的FPGA或CPLD。在设定工程文件后,应该选择用于编程的目标芯片:选择菜单“Assign”?“Device?”,在弹出的对话框中的“Device Family”下拉栏中,例如选择ACEX1K,此窗口(图4-3)的Device Family是器件序列栏,应该首先在此拦中选定目标器件对应的序列名。为了选择EP1K30TC144-3器件,应将此栏下方标有Show only Fastest Speed Grades
2
的勾消去,以便显示出所有速度级别的器件。完成器件选择后,按OK键。 1.3 选择VHDL文本编译版本号和排错
选菜单“MAX+plus II”?“Compiler”菜单,选择如图1-4所示界面上方的“Interfaces”?“VHDL Netlist Reader Settings”,在弹出的窗口中选“VHDL’1993”。
在按“START”键运行编译前,还需要作一件事,即在进入编辑窗(图1-4),选择Processing项,选“Fitter Setting”,进入如图1-5的窗口,消去最上的“Use Quartus Fitter…”的勾。最后按“START”键,运行编译器。
注意,如图1-1所示,MUX21A.VHD文件中的实体结束语句没有加分号“;”,在编译时出现了如图1-6所示的出错信息指示。有时尽管只有1、2个小错,但却会出现大量的出错信息,确定错误所在的最好办法是找到最上一排错误信息指示,用鼠标点成黑色,然后点击如图1-6所示窗口左下方的“Locate”错误定位钮,就能发现在出现文本编译窗中闪动的光标附近找到错误所在。纠正后再次编译,直至排除所有错误。 注意闪动的光标指示错误所在只是相对的,错误一般在上方。VHDL文本编辑中还可能出现许多其它错误,如:
图1-5 消去“Use Quartus Fitter…”项 图1-6 确定设计文件中的错误
1、错将设计文件存入了根目录,并将其设定成工程,由于没有了工作库,报错信息如下: Error :Can't open VHDL \ 2、错将设计文件的后缀写成.tdf而非.vhd,报错信息如下:Error :Line1,File e:\\muxfile\\mux21a.tdf: TDF syntax error: ... 3、未将设计文件名存为其实体名,如错写为muxa.vhd,报错信息如下:Error :Line1,...VHDL Design File \must contain ...
1.4 时序仿真
接下来应该测试设计项目的正确性,即逻辑仿真,具体步骤如下: 1、建立波形文件。为此设计建立一个波形测试文件。选择菜单“File”项及其“New”,再选择New窗中的Waveform Editer..项,打开波形编辑窗。
2、输入信号节点。在图1-7所示的波形编辑窗的上方选择Node项,在下拉菜单中选择输入信号节点项Enter Nodes from SNF。在弹出的窗口(图1-8)中首先点击List键,这时左窗口将列出该项设计所以信号节点。由于有时只需要观察其中部分信号的波形,因此要利用中间的“=>”键将需要观察的信号选到右栏中,然后点击OK键即可将测试信号s(I)、b(I)、a(I)和y(O)输入仿真波形编辑窗。
图1-7从SNF文件中输入设计文件的信号节点
图1-8 列出并选择需要观察的信号节点
3、设置波形参量。首先设定相关的仿真参数。如图1-9所示, 在Options选项中消去网格对齐Snap to Grid的选择(消去勾),以便能够任意设置输入电平位置,或设置输入时钟信号的周期。
3
4、如图1-10,1-11所示,设定仿真时间宽度。选择File项及其End time选项,在End time选择窗中选择适当的仿真时间域,如可选50us(50微秒),以便有足够长的观察时间。
5、加上输入信号。图1-12显示了波形编辑窗各按钮的功能。
图1-9 在Options选项中消去网格对齐Snap to Grid的选择(消去勾)
图1-10 设定仿真时间宽度 图1-11 设定仿真时间宽度
在图1-13仿真波形中,多路选择器mux21a的输入端口a和b分别输入时钟周期为400ns和1.2us的时变信号。由图可见,当控制端s为高电平时,y的输出为b的低频率信号,而当s为低电平时,y的输出为a的高频率信号。
注意,仿真波形文件的建立,一定要十分注意仿真时间区域的设定,以及时钟信号的周期设置,否则即使设计正确也无法获得正确的仿真结果。如图1-14所示,设定了比较合理的仿真时间区域和信号频率,即仿真时间区域不能太小,仿真频率不能太高,即信号周期不能小到与器件的延时相比拟。
图1-12为输入信号设定必要的测试电平或数据 图1-15 仿真波形文件存盘
图1-13 为输入信号设定必要的输入信号
6、波形文件存盘。选择File项及其Save as选项,按OK键即可。存盘窗(图1-15)中的波形文件名是默认的(这里是mux21a.scf),所以直接存盘即可。
7、运行仿真器。选择MAX+plusII项及其中的仿真器Simulator选项,点击跳出的仿真器窗口(图1-16)中
4

