EDA实验报告 软件平台的使用Word文档格式.docx
《EDA实验报告 软件平台的使用Word文档格式.docx》由会员分享,可在线阅读,更多相关《EDA实验报告 软件平台的使用Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
2-3译码器
控制三个数码管
3选一多路选择器
BCDTO7SEG译码器
控制abcdefg七段
实验流程:
1设计模4计数器
2设计3选1多路选择器
3设计2-3译码器
4完成顶层电路图连接
6完成仿真,下载测试
实验具体步骤:
1、设计模4计数器:
本实验以模4计数器为例,详细介绍基于图形输入法的QuartusII工程设计过程:
创建工程文件、电路设计、编译综合、仿真验证、管脚配置、编程下载、硬件验证测试等。
(1)创建工程文件:
首先进入软件QuartusII主界面
再单击界面左上角的file,执行file--->
NewProjectWizard命令,打开工程导向,在第一页中分别输入新建工程所在路径,工程名称和顶层实体名称(同名)
输入完成后,单击Next,下一界面为默认界面,然后再次单击Next,进入界面如下:
器件选择:
如上图,在Family中选择FLEX10K,Targetdevice中选Special...项,在Availabledevice中选择EPF10K20TC144-3或EPF10K20TI144-4。
需要说明的是,目标器件在创建工程时已经选择完毕,如需修改可以选择菜单Assignments->
Device命令,弹出Device设置对话框修改Devicefamily和Availabledevices选项。
单击Next,选择第三方EDA工具,这里为默认情况,直接Next跳过。
下一个界面为信息确认界面,查看工程信息设置,若有错位可以单击Back,否则Finish。
(2)设计输入(图形输入)
创建设计文件:
在QuartusII主界面中,选择File->
New命令,弹出对话框(左下),选中BlockDiagram/SchematicFile,单击OK,弹出空白图形编辑器窗口(右下)。
元件的放置:
在空白图形编辑器中双击,出现下图对话框,在Library中选择Others->
Maxplux->
74161,或在Name框中直接输入74161(一般选择后者),右框显示相应元件符号。
单击OK,指针粘着元件,在合适位置单击放置元件。
元件命名及连接:
参考下图继续放置各元件。
(这也是最终的图形输入)
元件的命名可以右击元件或导线并在快捷菜单中选择Properties命令,弹出Properties对话框,在Name栏输入元件名或导线名。
下图中,总线q[1..0]表示两个支线q[0]和q[1]。
然后选择主菜单中File->
Save命令,弹出保存对话框,默认保存工程文件名为counter4.bdf
(3)编译:
执行主界面菜单中的Processing->
Compiler命令,弹出窗口如下,单击start,进行全编译。
单项编译可以执行Processing->
start命令。
根据Message中的警告和错误信息提示,修改电路并重新编译直至提示successful。
(4)仿真功能验证
建立波形文件:
选择主界面菜单中的File->
New,在弹出的对话框(前面已有截图)中选择VectorWaveformFile并单击OK,弹出空白波形编辑窗口。
添加节点:
选择主界面菜单Edit->
Insert->
InsertNodeorBus命令,单击NodeFinder按钮,出现对话框:
在Filter下拉框中学则Pin:
all选项,单击List,NodeFinder中显示所有的节点,双击选择所需要的节点到右侧SelectedNodes
单击OK,返回到InsertNodeorBus,在Radix下拉列表中选择Binary选项,单击OK,返回波形编辑窗口察看选定的输入,输出节点情况。
参数设置:
在仿真启动前,一定要设置两个重要参数:
Endtime结束时间和Gridsize网格大小。
Endtime,在Time文本框中更改仿真结束时间为2us。
同理,Edit->
GridSize,在GridSize文本框中设置为100ns。
时钟信号激励:
在波形编辑器中选中clk,在左侧工具栏中选择
,得到如下时钟信号激励波形图。
(点击工具栏中
,通过在波形图中点击鼠标左右键对图放小和放大)
然后选择主界面菜单File->
Save,将波形文件保存为counter4.vwf,并选中Addfiletocurrentproject。
单击“保存”。
仿真:
功能仿真和时序仿真
功能仿真:
选择主界面菜单Processing->
GenerateFunctionalSimulationNetlist,产生功能仿真表。
然后选择菜单Assignments->
Setting,弹出框图后,单击SimulatorSetting,在右侧的Simulatormode下拉列表中选择Functional,并指定Simulatorinput波形激励文件counter4.vwf,单击OK。
然后在主菜单中选择Processing->
StartSimulator,启动仿真。
再做时序仿真:
只需在Assignments->
Setting中的SimulatorSetting中Simulatormode中选择Timing,其他不变,然后Processing->
CompilerTool执行编译,然后Processing->
StartSimulation。
仿真小结:
从功能仿真结果图和时序仿真结果图可以看出,逻辑上,输入和输出的对应关系正确,周期的产生00、01、10、11的信号,但时序仿真有着明显的延时。
时序和功能仿真的区别本质在于功能仿真是根据电路图或者代码对电路的功能进行的仿真,而时序则是模拟实际情况,如竞争冒险等现象。
管脚分配:
选择主界面菜单Assignments-Pins或Assignments->
PinPlanner,出现如下界面
双击location列的空白格,在下拉框中选择合适的管脚并锁定,选择菜单Processing->
Compiler,单击start,更新.sof文件。
(5)下载及硬件测试
首先得为自己的PC加载驱动,然后将实验班连到自己的电脑上。
在菜单中选择Tools->
Programming
单击左上角的HardwareSetup,单击ADDhardware,在Hardwaretype中选择ByteBlasterMVorByBlasterII,Port为LPTI
以上详细演示了模4计数器从工程建立到下载到硬件测试的整个过程。
模4计数器就是通过通过时钟信号循环产生00、01、10、11的输出信号。
接下来对于整个实验的另外三个模块,由于大体的设计操作过程与模4计数器的设计操作过程类似,接下来只简单列举和说明说明各模块的重点部分。
2、3选1多路选择器
功能介绍:
通过控制电路实现三路4位数据的选择输出。
Sel为00是选择d0,输入为01是选择d1,其他情况选择d2.
新建.vhkl文件,输入代码如下:
libraryIEEE;
useIEEE.std_logic_1164.all;
entitymux4_3_1is
port(d0,d1,d2:
inSTD_LOGIC_VECTOR(3downto0);
sel:
inSTD_LOGIC_VECTOR(1downto0);
dout:
outSTD_LOGIC_VECTOR(3downto0));
endmux4_3_1;
architecturertlofmux4_3_1is
begin
dout<
=d0whensel="
00"
else
d1whensel="
01"
d2;
endrtl;
对文件编译后,再进行管脚分配
3、2-3译码器
data输入为00是,译出seg为100;
data输入为01;
y译出seg为010;
10和11则为001.
原理图:
4、完成顶层电路图的连接:
编译后仿真:
功能:
这里管脚配置和硬件测试与前面类似
思考题解答:
(1)QuartusII软件如何复用Maxplux工程文件?
file-->
covertMAX+PLUSIIproject
(2)如何获取工程所占用的资源情况?
processing-->
compilationreport-->
fitter-->
resourcesection
(3)图形输入法是有哪些方法提高连线的效率?
将两根线的名字设成一致或包含关系。
(4)解释功能仿真和时序仿真流程是什么?
区别在哪儿?
以模4计数器仿真为例:
然后在主菜单中选择Processing->
StartSimulation,启动仿真。
时序仿真:
除了操作的区别时序和功能仿真的区别本质在于功能仿真是根据电路图或者代码对电路的功能进行的仿真,而时序则是模拟实际情况。
(5)如何解决下载电缆不能下载的问题?
<
1>
没装载驱动程序,可以先装载
2>
管脚配置错误,需要对照实验板上管脚的pin值进行配置
3>
实验板的问题,换用其他的实验板
实验心得:
这次试验是EDA的第一次试验,只要是熟悉quartusII软件及其开发模式。
理解原理占用了大部分时间。
虽然教材越到后面越不详细,但因此有了自己摸索和熟悉的机会。