EDA实验指导书 《沈阳理工》Word格式文档下载.docx

上传人:b****2 文档编号:3244499 上传时间:2023-05-01 格式:DOCX 页数:46 大小:2.72MB
下载 相关 举报
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第1页
第1页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第2页
第2页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第3页
第3页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第4页
第4页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第5页
第5页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第6页
第6页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第7页
第7页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第8页
第8页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第9页
第9页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第10页
第10页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第11页
第11页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第12页
第12页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第13页
第13页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第14页
第14页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第15页
第15页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第16页
第16页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第17页
第17页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第18页
第18页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第19页
第19页 / 共46页
EDA实验指导书 《沈阳理工》Word格式文档下载.docx_第20页
第20页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

EDA实验指导书 《沈阳理工》Word格式文档下载.docx

《EDA实验指导书 《沈阳理工》Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《EDA实验指导书 《沈阳理工》Word格式文档下载.docx(46页珍藏版)》请在冰点文库上搜索。

EDA实验指导书 《沈阳理工》Word格式文档下载.docx

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编写中的一些小技巧。

二、实验环境及器材:

三、参考代码如下:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycntm60is

port(ci:

instd_logic;

nreset:

load:

d:

instd_logic_vector(7downto0);

clk:

co:

outstd_logic;

qh:

bufferstd_logic_vector(3downto0);

ql:

bufferstd_logic_vector(3downto0));

endcntm60;

architecturebehaveofcntm60is

begin

co<

='

1'

when(qh="

0101"

andql="

1001"

andci='

)else'

0'

;

process(clk,nreset)

begin

if(nreset='

)then

qh<

="

0000"

ql<

elsif(clk'

eventandclk='

if(load='

=d(7downto4);

=d(3downto0);

elsif(ci='

if(ql=9)then

if(qh=5)then

else

=qh+1;

endif;

=ql+1;

endprocess;

endbehave;

实验4简易数字钟

1、了解数字钟的工作原理;

2、学习用混合输入法设计。

1、计算机一台

3、EDA/SOPC试验箱

4、USBBlaster下载线一根

本设计用到试验一和实验二所生成的模块,把实验一和实验二作为底层文件。

秒和分的部分由60进制计数器实现,小时部分由24进制计数器实现。

原理参考图如图3-1所示。

图3-1

实验5HELLO实验

一、实验目的及要求:

1、学习使用QUARTUSⅡ、SOPCBuilder、NIOSⅡIDE软件,掌握利用这些软件进行简单SOPC设计和调试的基本流程;

2、完成一个简单的NIOSⅡCPU设计,通过JTAG-UART接口向计算机发送一段字符串。

2、QUARTUSⅡ、SOPCBuilder、NIOSⅡIDE软件

三、试验步骤

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语言设计电路。

二、实验器材及环境

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;

A=12;

B=5;

CIN=1;

完成测试平台后,在工程管理区将“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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2