EDA实验指导书 《沈阳理工》.docx
- 文档编号:12369429
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:46
- 大小:2.72MB
EDA实验指导书 《沈阳理工》.docx
《EDA实验指导书 《沈阳理工》.docx》由会员分享,可在线阅读,更多相关《EDA实验指导书 《沈阳理工》.docx(46页珍藏版)》请在冰豆网上搜索。
EDA实验指导书《沈阳理工》
EDA技术与应用
实验指导书
目录
实验1QUARTUSII8.1软件的使用2
实验2图形法设计24进制计数器20
实验360进制计数器23
实验4简易数字钟25
实验5HELLO实验26
实验6ISE实验39
实验1QUARTUSII8.1软件的使用
一、实验目的及要求:
1、练习使用QUARTUSII8.1软件,掌握利用该软件进行简单DEA设计的基本流程;
2、熟悉LPM的使用方法,完成12进制计数器的设计,并实现仿真。
二、实验环境及器材:
1、计算机一台,实验箱
2、QUARTUSII8.1环境
三、实验内容
利用IP核设计12进制计数器
四、实验步骤
1、启动QUARTUSII8.1后的界面如图1-1所示,首先要创建一个工程,具体操作过程如下:
图1-1
2、点击File→NewProjectWizard创建一个新工程,系统显示如图1-2。
3、点击Next,为工程选择存储目录、工程名称、顶层实体名等,(工程名与顶层实体名同名)如图1-3所示;
点击Next,若目录不存在,系统可能提示创建新目录,点击“是”即可创建新目录,系统显示如图1-4所示;
图1-2
图1-3
图1-4
3、系统提示是否需要加入文件,在此不添加任何文件;点击Next,进入设备选择对话框,如图1-5,这里选择试验箱的核心芯片CYCLONE系列FPGA产品EP1C6Q240C8;
图1-5
5、点击Next,系统显示如图1-6,提示是否需要其他EDA工具,这里不选择任何其他工具;
6、点击Next后,系统提示创建工程的各属性总结,若没有错误,点击Finish,工程创建向导将生成一个工程,这时软件界面如图1-7,在窗口左侧显示出设备型号和该工程的基本信息等。
至此工程创建好完成,以下进行具体的设计。
图1-6
图1-7
7、建立工程后,File→New选择图形输入法,如图1-8,单击OK。
8、在图1-9中双击空白处。
图1-8
图1-9元器件调入对话框
9、在图1-10中,单击“MegaWizardPlug-InManager”,弹出定制宏模块的对话框,有三个选项,中选择定制一个新的宏功能模块(Creatanewcustommegafunctionvariation),修改编辑一个已存在的宏功能模块(Editanexitingcustommegafunction),复制一个已存在的宏功能模块(Copyanexixingcustommegafunction),选择Creatanewcustommegafunctionvariation。
图1-10定制一个新的宏功能模块
10、点击Next进入下一页,如图1-11右面选择LPM_COUNTER,语言选择VHDL,Whatnamedoyouwantfortheoutputfile?
处输入jishuqi(注意不能与顶层文件同名)点击Next进入下一页。
图1-11
11、计数器的位数选择设置如图1-12。
.
图1-12计数器位数选择
11、为计数器添加使能控制端,如图1-13。
图1-13计数器使能端选择
12、为计数器添加清零端,如图1-14。
图1-14为计数器添加清零端
13、选择next将看到定制模块的详细信息,如图1-15,finish完成,弹出图1-16所示制定好的计数器模块。
图1-15计数器详细信息
图1-16计数器模块
14、同样方法,双击空白处,输入input,output。
修改pin_name按照图1-17完成计数器原理图设计。
图1-17计数器原理图
15、存盘。
建立时序仿真文件,如图1-8所示,选择“VectorWaveformFile”,出现图1-18的界面,在Name空白处击右键,Insert→InsertNodeorBus。
图1-18
图1-19
在图1-19中单击
图1-20
在图1-20中单击
,再单击
→OK→OK。
如图1-12所示
图1-21
在图1-21中,CLK端赋值时时钟周期改为50ns,见图1-22
图1-22
仿真文件存盘时,文件名字必须与顶层文件同名,即shiyan1,默认即可。
16、仿真波形如图1-18。
图1-23计数器仿真波形
实验2图形法设计24进制计数器
一、实验目的
1、熟悉QuartusII软件的使用,练习使用图形编辑器设计电路。
2、熟悉EDA开发的基本流程。
二、实验环境及器材
1、计算机一台,实验箱
2、QuartusII环境
三、实验原理
74161是一个四位二进制的计数器,用两个74161芯片级联成一个24进制计数器,第一个从0记到11,第二个从0记到1,从而实现24进制计数。
参考原理图和仿真波形图如图2-1和2-2。
图2-1
图2-2
实验360进制计数器
一、实验目的
1、了解计数器的工作原理;
2、用VHDL语言编写60进制计数器,通过设计熟悉EDA开发的基本流程;
3、熟悉QuartusII软件的使用,练习使用文本编辑器;
4、掌握VHDL编写中的一些小技巧。
二、实验环境及器材:
1、计算机一台,实验箱
2、QuartusII环境
三、参考代码如下:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycntm60is
port(ci:
instd_logic;
nreset:
instd_logic;
load:
instd_logic;
d:
instd_logic_vector(7downto0);
clk:
instd_logic;
co:
outstd_logic;
qh:
bufferstd_logic_vector(3downto0);
ql:
bufferstd_logic_vector(3downto0));
endcntm60;
architecturebehaveofcntm60is
begin
co<='1'when(qh="0101"andql="1001"andci='1')else'0';
process(clk,nreset)
begin
if(nreset='0')then
qh<="0000";
ql<="0000";
elsif(clk'eventandclk='1')then
if(load='1')then
qh<=d(7downto4);
ql<=d(3downto0);
elsif(ci='1')then
if(ql=9)then
ql<="0000";
if(qh=5)then
qh<="0000";
else
qh<=qh+1;
endif;
else
ql<=ql+1;
endif;
endif;
endif;
endprocess;
endbehave;
实验4简易数字钟
一、实验目的
1、了解数字钟的工作原理;
2、学习用混合输入法设计。
二、实验环境及器材:
1、计算机一台
2、QuartusII环境
3、EDA/SOPC试验箱
4、USBBlaster下载线一根
三、实验原理
本设计用到试验一和实验二所生成的模块,把实验一和实验二作为底层文件。
秒和分的部分由60进制计数器实现,小时部分由24进制计数器实现。
原理参考图如图3-1所示。
图3-1
实验5HELLO实验
一、实验目的及要求:
1、学习使用QUARTUSⅡ、SOPCBuilder、NIOSⅡIDE软件,掌握利用这些软件进行简单SOPC设计和调试的基本流程;
2、完成一个简单的NIOSⅡCPU设计,通过JTAG-UART接口向计算机发送一段字符串。
二、实验环境及器材:
1、计算机一台
2、QUARTUSⅡ、SOPCBuilder、NIOSⅡIDE软件
3、EDA/SOPC试验箱
4、USBBlaster下载线一根
三、试验步骤
1、启动QUARTUS软件并建立一个工程,如图5-1所示。
图5-1建立工程对话框
(1)点击Tools→SOPCBuilder,如图5-2进行设置。
图5-2SOPC初始化设置
(2)点击OK,显示SOPCBuilder界面,如图5-3左侧为IP核列表,右侧为设计界面,下面为信息窗口。
由于试验箱上FPGA的工作时钟为24MHz,因此须更改时钟设置,双击频率值修改即可。
图5-3SOPCBuilder设置界面
(3)添加组件,双击左侧的NiosⅡProcessor,为系统添加NiosⅡCPU,如图5-4,NiosⅡ的类型分为经济型、标准型和完全性,这里选标准型,NiosⅡ/s,其他选默认值即可,直至Finish。
最好为添加的CPU改名字,右击CPU,选Rename,更名为MYNIOS,如图5-5所示。
图5-4CPU初始化设置
图5-5对新建的CPU改名
(4)继续添加组件ROM和RAM。
在左侧列表中选OnChipMemory(ROMorRAM)。
先添加ROM,在内存类型上选ROM,数据宽度32位,容量1Kbytes,其他选项默认即可。
然后更名为ROM。
同样添加RAM参考图5-6。
将他们的基地址分别更改为0x00001000和0x0002000。
(5)添加JTAGUART,如图5-7,一切默认即可。
图5-6ROM初始化对话框
图5-7JTAGUART初始化对话框
(6)为MYCPU设置复位向量和异常向量,如图5-8所示。
ResetVector选ROM,ExceptionVector选RAM。
(7)CPU的组件添加完毕,点击Generate生成CPU。
系统提示Systemgenerationwassuccessful。
CPU设计成功。
(8)回到Quartus环境。
新建一个BDF文件,双击空白处,打开左侧Project,双击MYCPU加入到设计窗口,为CLOCK和RESET锁定管脚,它们分别对应FPGA的28和240引脚,参考图5-9,编译系统,结束后,生成配置文件hello.sof,下载到FPGA中,下载成功后显示如图5-10。
图5-8MYCPU设置复位向量和异常向量
图5-9新建BDF文件
图5-10下载成功对话框
2、启动NIOSⅡIDE
(1)点击File→New→NIOSⅡC/C++Application,如图5-11,Name是工程名,可设为hello,SOPCBuilderSystemPTFFile是指定该工程所用到的CPU,实验中为刚才创建的MYNIOS,SelectProjectTemplate中选HelloWorldSmall,单击Next,Finish。
图5-11新建Nios工程
(2)创建结束后,在NIOSⅡIDE左侧的工程列表中将多出两个,一个是helo,另一个是hello_syslib,同时创建了若干C源文件,如图5-12。
图5-12新建C文件
(3)存盘,右键单击左侧的hello工程名,选BuildProject,开始对该工程编译。
(4)若编译成功,可运行。
选择菜单Run→Run,如图5-13所示。
图5-13工程编辑结果
(5)为了使程序在实验箱上运行,右击左侧的NiosⅡHardware,选New系统将创建一个新的运行配置文件,图中选择TargetConnection,如图5-14进行配置。
图5-14创建一个新的运行配置文件
3、单击Run,运行结果如图5-15所示。
图5-15Nios运行结果
实验6ISE实验
一、实验目的:
1.熟悉XilinxISE软件的使用;
2.练习使用VerilogHDL语言设计电路。
二、实验器材及环境
1、计算机一台
2、ISE环境
3、XC95108CPLD
三、实验步骤
1、新新建工程。
选择“File|NewProject”选项,在弹出的新建工程对话框的工程名称中输入工程名,本例为test。
在工程路径中单击“Browse”按钮,将工程放到指定目录中,如图6-1所示。
图6-1利用ISE新建工程的示意图
单击Next按钮进入下一页,选择所使用的芯片类型以及综合、仿真工具。
在图中我们选择XC9500CPLDs系列中的XC95108。
综合和仿真工具默认,如图6-2所示。
单击Next按钮进入下一页,直到进入最后一页,单击“OK”按钮后,就可以建立一个完整的工程。
2、代码输入。
在工程管理区的任意位置单击鼠标右键,在弹出的菜单中选择“NewSource”命令,会弹出如图6-3所示的“NewSourceWizard”对话框。
在代码类型中选择“VerilogModule”选项,在“FileName”文本框中输入“add32”,单击Next按钮进入端口定义对话框,如图6-4所示。
图6-2新建工程器件属性配置表
图6-3新建源代码对话框
图6-4Verilog模块端口定义对话框
其中“ModuleName”就是输入的“add32”,下面的列表框用于对端口的定义。
“PortName”表示端口名称,“Direction”表示端口方向(可以选择为input、output、inout),MSB表示信号的最高位,“LSB”表示信号的最低位。
定义了端口后,单击“Next”按钮进入下一步,单击“Finish”按钮完成创建。
这样,ISE会自动创建一个Verilog模块的例子,并且在源代码编辑区打开。
简单的注释、模块和端口定义已经自动生成,如图6-5所示,所剩余的工作就是在模块中实现代码。
填写的代码如下:
reg[31:
0]SUM;
always@(posedgeCLKornegedgeCLR)
if(!
CLR)
assignSUM=0;
else
assignSUM=A+B+CIN;
图6-5自动生成的模块示意图
3、综合
综合,就是将HDL语言、原理图等设计输入翻译成由与、或、非门和RAM、触发器等基本逻辑单元组成的逻辑连接(网表),并根据目标和要求优化生成的逻辑连接而生成EDF文件。
在过程管理区双击Synthesize-XST,如图6-6所示,就可以完成综合。
综合有3种结果:
如果综合后完全正确,则在Synthesize-XST前面有一个打钩的绿色小圆圈;如果有警告,则出现一个带感叹号的黄色小圆圈;如果有错误,则出现一个带叉的红色的小圆圈。
4、仿真,在工程管理区将“Sourcesfor”设置为“BehavioralSimulation”,在任意位置单击鼠标右键,并在弹出的菜单中选择“NewSource”命令,然后选中“VerilogTestFixture”类型,输入文件名“test_add32”再单击“Next”进入下一页。
这时,工程中所有VerilogModule的名称都会显示出来,设计人员需要选择要进行测试的模块。
有鼠标选中“test”,单击“Next”后进入下一页,直接单击“Finish“按钮,ISE会在源代码编
辑区自动显示测试模块的代码。
所需完成的工作是在initial……end模块中的”//Addstimulushere“后面添加测试向量生成代码。
添加的测试代码如下:
图6-6设计综合窗口
parameterSTEP=10;
always#(STEP/2)CLK=~CLK;
initialbegin
A=0;
B=0;
CIN=0;
CLK=0;
CLR=0;
//Wait100nsforglobalresettofinish
#100;
//Addstimulushere
A=4;
B=2;
CIN=0;
CLR=1;
#100;
A=12;
B=5;
CIN=1;
CLR=1;
#100;
A=4;
B=5;
CLR=1;
#100;
完成测试平台后,在工程管理区将“Sourcesfor“选项设置为”BehavioralSimulation“,这时在过程管理区会显示与仿真有关的进程,如图6-7所示。
双击SimulateBehavioralModel进行仿真,仿真结果如图6-8所示。
图6-7仿真过程示意图
图6-8仿真结果
5、管脚约束。
在过程管理区双击“UserContrains“|”AssignPackagePins“来打开PACE。
需要注意的是,在启动PACK之前,要确保相应的设计中存在UCF文件,否则会提示错误,如图6-9所示,PACE的用户界面如图6-10所示。
图6-9错误提示信息
图6-10PACK的用户界面
6、编程,在ISE中,生成编程文件的操作非常简单,只需在过程管理区中双击“GenerateProgrammingFile”选项即可完成。
完成后,该选项前面会出现一个打钩的圆圈。
至此,只剩下最后一步——下载。
双击过程管理区的“GenerateProgrammingFile”选项下面的“ConfigureDevice(iMPACT)”项,会出现如图6-11所示的iMPACT的主界面。
在CPLD芯片上单击鼠标右键,在弹出的菜单中选择“AssignNewConfigurationFile”,会出现如图6-12所示的窗口。
选中下载文件后,单击“打开”按钮,在iMPACT的主界面会出现一个芯片模型以及下载文件的标志。
在次标志上单击鼠标右键,在弹出的对话框中选择“Program”选项,就可以对芯片进行编程。
图6-11iMPACT主界面
图6-12编程示意图
配置成功后,弹出配置成功的界面,如图6-13所示。
图6-13配置成功示意图
MODELSIM仿真实验
一、实验目的:
1、学习Modesim软件的使用,掌握仿真的基本流程。
2、完成所设计项目的仿真
二、实验步骤
首先建工程,File|New|Project,打开图1,在ProjectName中填写工程名字,建议与顶层文件名一致;ProjectLocation是工作路径;其它选项默认。
OK
图1
Modelsim会自动弹出图2。
选择“AddExistingFile”或“CreateNewFile”均可,这里选择“AddExistingFile”。
如图3所示。
图2
图3
单击OK,打开图4,源代码与测试向量文件已加入。
图4
在WorkSpace中,任意位置单击右键,Compile|CompileAll来完成编译。
如图5所示。
绿色“√”表示编译成功;如果编译出错,双击红色警告即可见错误位置,修改后再编译。
图6是编译正确的界面。
图5
图6
在WorkSpace工作区中单击Library标签,展开work,如图7所示。
右键单击测试向量文件add_g2_test,选择SimulatewithCoverage,见图8。
图7
图8
在图9中右键add_g2-test,选Add|AddSignalstoWave。
,打开图10.
图9
图10
在图11中选择菜单Simulate|Run|RunAll,出现图12界面,单击“否”。
图11
图12
完成仿真,如图13所示。
图13
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 沈阳理工 EDA实验指导书 沈阳理工 EDA 实验 指导书 沈阳 理工