EDA技术.docx
《EDA技术.docx》由会员分享,可在线阅读,更多相关《EDA技术.docx(20页珍藏版)》请在冰豆网上搜索。
EDA技术
EDA技术实验指导书
(适用于电子信息工程专业)
信息科学与工程学院
崔秀敏
2013年9月
实验项目QUARTUSII8.1软件的使用
一、实验目的及要求:
1、练习使用QUARTUSII8.1软件,掌握利用该软件进行简单EDA设计的基本流程;
2、完成一个通过拨码开关控制发光二极管亮灭的应用,实验结束后可独立完成思考题。
二、实验环境及器材:
1、微机(已安装授权的QUARTUSII8.1软件)
2、EDA/SOPC实验开发系统
3、USBBlaster下载线一根
三、背景知识及操作流程:
QUARTUSII是ALTERA公司推出的EDA开发工具,其前身为MAXPLUSII,目前实验室安装的版本为8.1,利用该软件可进行对可编程逻辑器件的分析、综合、下载等设计。
EDA/SOPC实验开发系统是由北京百科公司生产的一套EDA实验系统,其核心芯片采用ALTERA公司的CYCLONE系列FPGA产品EP1C6Q240C8,同时配备了丰富的外部接口资源,可供学生进行EDA设计实验。
启动QUARTUS后的界面如图1所示,首先需要创建一个工程,具体操作过程如下:
图1QUARTUS软件的启动界面
(1)点击File–>NewProjectWizard创建一个新工程,系统显示如图2。
图2工程创建向导的启始页
(2)点击Next,为工程选择存储目录、工程名称、顶层实体名等,如图3所示;
(3)点击Next,若目录不存在,系统可能提示创建新目录,如图4所示,点击“是”按钮创建新目录,系统显示如图5所示;
(4)系统提示是否需要加入文件,在此不添加任何文件;
(5)点击Next,进入设备选择对话框,如图6,这里选中实验箱的核心芯片CYCLONE系列FPGA产品EP1C6Q240C8;
(6)点击Next,系统显示如图7,提示是否需要其他EDA工具,这里不选任何其他工具;
(7)点击Next后,系统提示创建工程的各属性总结,若没有错误,点击Finish,工程创建向导将生成一个工程,这时软件界面如图8,在窗口左侧显示出设备型号和该工程的基本信息等。
图3输入工程名称、存储目录
图4提示是否创建新文件夹
图5提示是否添加文件
图6芯片型号选择
图7提示是否利用其他EDA设计工具
图8工程阐述汇总
至此工程创建好完成,一下进行具体的设计了,为实现用一个拨码开关控制一个LED亮灭的功能,可用VHDL编写一个程序实现,具体操作过程如下:
(1)点击File->New创建一个设计文件,系统显示如图9;
图9创建一个设计文件
(2)选择设计文件的类型为VHDLFile;
(3)点击OK,系统显示如图10,窗口右侧为VHDL的编辑窗口。
图10新建的一个VHDL源文件的编辑窗口
(4)在编辑窗口中编辑以下程序:
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
entitytestis
Port(led:
outstd_logic;
key:
instd_logic);
endtest;
architectureBehavioraloftestis
begin
led<=key;
endBehavioral;
(5)输入程序后,存盘,如图11所示:
图11存盘
(5)点击Processing->StartCompilation编译该文件,系统将开始编译,结束后,给出提示信息和编译结果,如图12所示:
图12编译结果显示
(6)点击Assignment->Pins进行引脚分配,实验箱上拨码开关和LED对应的引脚分别为58和98,分配结果如图13所示。
图13引脚分配
(7)参照步骤(5)重新编译系统,系统将生成FPGA配置文件,在编译过程中若显示警告可不理会;
(8)准备下载,注意打开实验箱电源,并连接下载电缆;
(9)点击Tools->Programmer将配置文件下载到FPGA,系统显示如图14所示,注意选择下载模式为JTAG,若下载线硬件显示“NoHardware”(如图14所示),则点击HardwareSetup按钮,系统显示如图15,双击USB-Baster,设定其为当前选定硬件,再点Close返回。
图14下载界面
图15下载线配置
这时,系统界面如图16,选中Program/Configure,点击Start,将配置文件下载到FPGA。
图16配置好下载电缆的下载界面
(10)观察实验效果,尝试开关拨码开关K1,发光二极管D1-1将随之亮灭。
以上是通过编写VHDL程序实现,本实验也可以通过另一种方法实现,即通过设计顶层图的方法进行。
具体的实验步骤如下:
(1)如前所述创建工程,设所创建的工程名为testbdf
(2)点击File->New创建一个新文件,类型为BlockDiagram/SchematicFile,如图17所示:
图17创建新文件
点击OK后,系统显示如图18所示,窗口的右上部分即为设计窗口,可在此范围内进行逻辑设计
图18顶层图设计界面
(3)点击工具栏中的symboltools工具,系统显示如图19
图19选择所要添加的元素
(4)展开左侧Library树,双击input,将一个input类型的元件放到顶层图设计窗口,本操作可连续放置若干个元件,若想停止操作只需点击鼠标右键选cancel即可,结果如图20所示。
双击图中的pin_name,可更改其名字,如可改为KEY。
图20放置一个input类型的元件
(5)类似过程(4),再添加一个output类型的元件,命名为LED,注意放置元件时将两个元件连接在一起。
如图21所示
图21放置一个output类型的元件
(6)存盘,保存的文件名为testbdf
(7)类似前面过程(5)-(10),对其进行编译、锁定引脚、下载等操作,验证其正确性。
四、实验总结
通过本实验学生应掌握QUARTUS8.1软件的基本使用方法和利用该软件进行EDA设计的基本流程。
本实验的内容虽然简单,但却是进行复杂设计的基础。
五、思考题
本实验是利用1个拨码开关控制1个LED,现要求利用8个拨码开关控制8个LED,在现有的实验环境下完成。
实验箱上8个拨码开关控制8个LED对应的FPGA引脚为:
名称
引脚
名称
引脚
K1
58
D1-1
98
K2
57
D1-2
99
K3
56
D1-3
100
K4
55
D1-4
101
K5
54
D1-5
102
K6
53
D1-6
103
K7
50
D1-7
104
K8
49
D1-8
105
实验项目:
60进制计数器
一、实验目的
1、了解计数器的工作原理;
2、用VHDL语言编写60进制计数器,通过设计熟悉EDA开发的基本流程;
3、熟悉QuartusII软件的使用,练习使用文本编辑器;
4、掌握VHDL编写中的一些小技巧。
二、实验环境及器材:
1、计算机一台,实验箱
2、QuartusII环境
三、参考代码如下:
libraryieee;--调用ieee库
useieee.std_logic_1164.all;--使用ieee库中的1164包
useieee.std_logic_unsigned.all;--使用ieee库中的无符号包
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;
实验项目:
数字频率计
一、实验目的
1、学会数字频率计的设计方法;
2、设计一个计数范围在0~1MHz的数字频率计;
3、进一步掌握自顶向下的数字系统设计方法,并体会其优越性;
二、实验器材
PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干
三、实验原理与内容
1、测频原理
若某一信号在T秒时间里重复变化了N次,则根据频率的定义可知该信号的频率fs为:
fs=N/T通常测量时间T取1秒或它的十进制时间。
频率计方框图
(1)、时基T产生电路:
提供准确的计数时间T。
晶振产生一个振荡频率稳定的脉冲,通过分频整形、门控双稳后,产生所需宽度的基准时间T的脉冲,又称闸门时间脉冲。
注意:
分频器一般采用计数器完成,计数器的模即为分频比。
(2)、计数脉冲形成电路:
将被测信号变换为可计数的窄脉冲,其输出受闸门脉冲的控制。
(3)、计数显示电路:
对被测信号进行计数,显示被测信号的频率。
计数器一般采用多位10进制计数器;控制逻辑电路控制计数的工作程序:
准备——计数——显示——复位——准备下一次测量。
2、具体实现:
(1)、测频控制逻辑电路(以1秒为例)
A)产生一个1秒脉宽的周期信号;
B)对计数器的每一位计数使能进行控制;
C)完成下一次测量前的计数器复位;
一种可能的时序关系图
a)10进制计数器
要求具有计数使能端CNTEN、复位端CLR、进位输出端CO。
3、元件例化图
1、画出实验原理方框图;
2、设计各个元件;
3、进行元件例化;
五、参考程序:
六、实验报告
1、写出实验源程序,画出仿真波形;
2、总结实验步骤和实验结果;
3、心得体会;
4、完成实验思考题。
七、问题与思考
1、怎样实现测频范围的扩大;
2、怎样提高测量的精确度;