EDA工程实践作业习题.docx
《EDA工程实践作业习题.docx》由会员分享,可在线阅读,更多相关《EDA工程实践作业习题.docx(12页珍藏版)》请在冰豆网上搜索。
![EDA工程实践作业习题.docx](https://file1.bdocx.com/fileroot1/2023-1/21/f579fc19-1ffb-47f6-a614-38f2ab0b87e1/f579fc19-1ffb-47f6-a614-38f2ab0b87e11.gif)
EDA工程实践作业习题
EDA工程实践作业习题
1.试述在系统编程的主要步骤。
2.电路在设计之前为什么首先要建立工程,目的是什么?
3.何谓层次化设计,它的优点是什么?
4.菊花链下载软件的作用是什么?
5.用逻辑输入法设计一个八进制加法器。
6.用VHDL语言设计一串行数据检测器。
7.用混合输入法设计一交通指挥灯,红、黄、绿三盏灯依次点亮的时间间隔为红30秒,黄10秒,绿30秒,黄10秒,红30秒……。
输入时钟为20ns。
8.设计一个60进制计数器,并写出测试向量。
9.设计一个{1101}序列检测器。
10.试设计一个数字钟,能显示年、月、日或切换显示时、分、秒,并能实现年、月、日和时、分、秒的校正。
11.设计一个频率计。
要求能够测量1000Hz~10Mz的信号频率。
12.按照下列要求设置一张电路图纸:
图纸尺寸为A4号,水平放置,图纸标题栏采用标准型。
13.在命令状态下,放大、缩小和刷新画面的快捷键分别是什么?
14.可见栅格、锁定栅格和电路栅格的作用分别是什么?
如何对它们进行设定?
15.怎样使一组图件同时实现两种排列和均匀分布?
16.简述原理图元件库绘图工具栏中各个按钮的作用,并指出与这些按钮相对应的菜单命令。
17.查看并熟练掌握如下常用元器件的封装。
三极管:
以TO-+数字封装,例如:
TO-18。
可变电阻:
以VR+数字封装,例如:
VR5。
无极性电容:
以RAD+数字封装,例如:
RAD0.2。
有极性电容:
以RB.数字/.数字封装,例如:
RB.4/.8。
单列直插器件(即电路图中的连接器):
以SIP+数字封装,例如:
SIP4。
电阻类:
以AXIAL+数字封装,例如:
AXIAL0.3。
二极管:
DIODE+数字封装,例如:
DIODE0.4。
双列直插器件:
以DIP+数字封装,例如:
DIP14。
晶振:
XTAL1封装。
电源引线:
常用POWER+数字封装,例如:
POWER4。
TTL门电路、555定时器:
常用双列直插器件封装。
无极性电容:
以RAD+数字表示
有极性电容:
以RB.2/.4等等表示
单列直插器件(即电路图中的连接器):
以SIP+数字表示
电阻类:
以AXIAL+数字表示
二极管:
DIODE+数字表示
双列直插器件:
以DIP+数字
晶振:
XTAL1
电源引线常用POWER+数字表示
TTL门电路、555定时器,常用双列直插器件封装
存储器实验与实践
1、FPGA中LPM_ROM配置与读出实验
一.实验目的
1、掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性和配置方法。
2、用文本编辑器编辑mif文件配置ROM,学习将程序代码以mif格式文件加载于lpm_ROM中;
3、在初始化存储器编辑窗口编辑mif文件配置ROM;4、验证FPGA中mega_lpm_ROM的功能。
二.实验原理
ALTERA的FPGA中有许多可调用的LPM(LibraryParameterizedModules)参数化的模块库,可构成如lpm_rom、lpm_ram_io、lpm_fifo、lpm_ram_dq的存储器结构。
CPU中的重要部件,如RAM、ROM可直接调用他们构成,因此在FPGA中利用嵌入式阵列块EAB可以构成各种结构的存储器,lpm_ROM是其中的一种。
lpm_ROM有5组信号:
地址信号address[]、数据信号q[]、时钟信号inclock、outclock、允许信号memenable,其参数都是可以设定的。
由于ROM是只读存储器,所以它的数据口是单向的输出端口,ROM中的数据是在对FPGA现场配置时,通过配置文件一起写入存储单元的。
图2-1-1中的lpm_ROM有3组信号:
inclk——输入时钟脉冲;q[23..0]——lpm_ROM的24位数据输出端;a[5..0]——lpm_ROM的6位读出地址。
实验中主要应掌握以下三方面的内容:
(1)lpm_ROM的参数设置;
(2)lpm_ROM中数据的写入,即LPM_FILE初始化文件的编写;
(3)lpm_ROM的实际应用,在GW48_CPP实验台上的调试方法。
三.实验步骤
(1)用图形编辑GraphicEditer,进入max2lib\mega_lpm元件库,调用lpm_rom元件,设置地址总线宽度address[]和数据总线宽度q[],分别为6位和24位,并添加输入输出引脚,如图2-1-1设置和连接。
(2)在设置lpm_rom数据参数选择项lpm_file的对应窗口中,用键盘输入lpm_ROM配置文件的路径。
(3)用初始化存储器编辑窗口编辑lpm_ROM配置文件(文件名.mif)。
原理图输入完成后,打开仿真器窗口Simulator,选择Initialize菜单中的InitializeMemory选项,并在此编辑窗口中完成ROM数据的编辑,然后按ExportFile键,将文件以mif后缀存盘,文件名如图2-1-1所示是rom_a.mif。
(4)编译顶层工程原理图文件(文件名.gdf)。
rom_a.mif中的数据恰好是后面要用的微指令码
(5)下载SOF文件至FPGA,改变lpm_ROM的地址a[5..0],外加读脉冲,通过实验台上的数码管比较读出的数据是否与初始化数据一致。
注,验证程序文件在LPM_ROM_DEMO4目录,工程名是2lpm_rom.gdf,下载2lpm_rom.sof至实验台上的FPGA,选择实验电路模式仍为NO.0,24位数据输出由数码8至数码3显示,6位地址由键2、键1输入,键1负责低4位,时钟CLK由键8控制。
发光管8至1显示输入的6位地址值。
图2-1-1lpm_ROM的结构图
四.实验要求
(1)实验前认真复习LPM-ROM存储器部分的有关内容。
(2)记录实验数据,写出实验报告,给出仿真波形图。
(3)通过本实验,对FPGA中EAB构成的LPM-ROM存储器有何认识,有什么收获?
图2-1-2lpm_ROM的配置
五.思考题
(1)如何在图形编辑窗口中设计LPM-ROM存储器?
怎样设计地址宽度和数据线的宽度?
怎样导入LPM-ROM的设计参数文件和存储LPM-ROM的设计参数文件?
(2)怎样对LPM-ROM的设计参数文件进行软件仿真测试?
(3)怎样在GW48实验台上对LPM-ROM进行测试?
(4)学习LPM-ROM用VHDL语言的文本设计方法(顶层文件用VHDL表达)。
(5)了解LPM-ROM存储器占用FPGA中EAB资源的情况。
2.LPM_RAM_DP双端口RAM实验
一.实验目的
1、了解FPGA中双口lpm_ram_dp的功能,2、掌握lpm_ram_dp的参数设置和使用方法,
3、掌握lpm_ram_dp作为随机存储器RAM的工作特性和读写方法。
二.实验原理
在FPGA中利用嵌入式阵列块EAB可以构成存储器,lpm_ram_dp的结构如图2-2-1。
数据从ram_dp的左边D[7..0]输入,从右边Q[7..0]输出,R/W——为读/写控制信号端。
数据的写入:
当输入数据和地址准备好以后,在CLK信号上升沿到来时,数据写入存储单元。
数据的读出:
从A[7..0]输入存储单元地址,在CLK信号上升沿到来时,该单元数据从Q[7..0]输出。
为了便于使用实验台上的键盘输入数据,在lpm_ram_dp与键盘之间加了4个计数器,按一次键计数器加1,计数值由按键上方对应的数码管显示。
R/W——读/写控制端,高电平时进行读操作,低电平时进行写操作;
CLK——读/写时钟脉冲;DATA[7..0]——RAM-dp的8位数据输入端;
A[7..0]——RAM的读出和写入地址;Q[7..0]——RAM-dp的8位数据输出端。
三.实验步骤
(1)按图2-2-2输入电路图。
并进行编译、引脚锁定、FPGA配置。
(2)通过键1、键2输入RAM的8位数据(选择实验电路模式1),键3、键4输入存储器的8位地址。
键8控制读/写,高电平时读允许,低电平时写允许;键7(CLK0)产生读/写时钟脉冲,即生成读地址和写地址锁存脉冲。
对lpm_ram_dp进行写/读操作。
(3)在simulator窗口下,用InitializeMemory生成mif初始化数据,下载后进入RAM作为初始数据。
注,验证程序文件在DEMO5_lpm_ram目录,工程名是ram_dp1.gdf,下载ram_dp1.sof至实验台上的FPGA,选择实验电路模式为NO.1,按以上方式首先进行验证实验。
首先控制读出初始化数据,与载入的初始化文件ram_dp1.mif中的数据进行比较,然后控制写入一些数据,再读出比较。
四.实验要求
(1)实验前认真复习运算器和存储器部分的有关内容;
(2)写出实验报告。
五.思考题与实验题
(1)如何在图形编辑窗口中设计lpm_ram_dp存储器?
怎样设定地址宽度和数据线的宽度?
设计一数据宽度为6,地址线宽度为7的RAM,仿真检验其功能,并在FPGA上进行硬件测试。
(2)怎样在simulator窗口下,用InitializeMemory功能对lpm_ram_dp数据初始化,如何导入和存储lpm_ram_dp参数文件?
生成一个mif文件,并导入以上的RAM中。
(3)怎样对lpm_ram_dp设计参数文件进行软件仿真测试?
(4)使用VHDL文件作为顶层文件,学习lpm_ram_dp的VHDL语言的文本设计方法。
(5)了解lpm_ram_dp存储器占用FPGA中EAB资源的情况。
(6)lpm_ram_dp存储器在CPU中有何作用?
图2-2-1lpm_ram_dp的结构图
图2-2-2lpm_ram_dp实验电路图
3.FIFO读/写实验
一.实验目的
1、掌握FPGA中先进先出存储器lpm_fifo的功能,工作特性和读写方法。
2、了解FPGA中lpm_fifo的功能,掌握lpm_fifo的参数设置和使用方法,
3、掌握lpm_fifo作为先进先出存储器FIFO的工作特性和读写方法。
二.实验原理
FIFO(FirstInFirstOut)是一种存储电路,用来存储、缓冲在两个异步时钟之间的数据传输。
使用异步FIFO可以在两个不同时钟系统之间快速而方便地实时传输数据。
在网络接口、图像处理、CPU设计等方面,FIFO具有广泛的应用。
在FPGA中利用嵌入式阵列块EAB可以构成存储器,lpm_fifo的结构如图2-3-1所示。
图2-3-1lpm_fifo的实验结构图
WR—写控制端,高电平时进行写操作;RD—读控制端,高电平时进行读操作;
CLK—读/写时钟脉冲;CLR—FIFO中数据异步清零信号;
D[7..0]—lpm_fifo的8位数据输入端;Q[7..0]—lpm_fifo的8位数据输出端;
U[7..0]—表示lpm_fifo已经使用的地址空间。
图2-3-2lpm_fifo的仿真波形图
三.实验步骤
1.编辑输入lpm_fifo实验电路(双击原理图2-3-1的FIFO元件,可进入该元件的编辑窗)。
2.将编译通过的文件下载到GW-48CPP实验台,实验台选择工作模式NO.0;
3.通过实验台上的KEY1、KEY2输入数据,键3控制写允许WR、键4控制读允许RD、键7控制数据清0、键8输入CLK信号,首先将数据写入LPM-FIFO。
4.在RD、CLK信号作用下,读出LPM-FIFO中数据,再读出比较,并观察U[7..0]的变化。
注,验证程序文件在DEMO6_lpm_fifo目录,工程名是fifo2.gdf,下载fifo2.sof至实验台上的FPGA,选择实验电路模式为NO.0,按以上方式首先进行验证实验。
四.实验要求
1.实验前认真复习LPM-FIFO存储器部分的有关内容。
2.完成FIFO设计和验证,给出仿真波形图,增加“空”、“未满”、“满”的标志信号,写出实验报告。
五.思考题与实验题
1.通过本实验,对FPGA中EAB构成的LPM-FIFO存储器有何认识,有什么收获?
2.如何了解lpm_fifo存储器占用FPGA中EAB资源的情况?
3.lpm_fifo存储器在CPU设计中有何作用?
当lpm_fifo“空”、“未满”、“满”时,full、empty和usedw[7..0]d的输出信号如何变化?
4.怎样通过波形仿真了解LPM-FIFO存储器的功能?
5.如何设置LPM-FIFO存储器各项参数?
4.FPGA与外部RAM接口实验
一.实验目的
1.掌握FPGA与外部RAM的硬件接口技术;2.通过FPGA控制,向外部RAM写入数据;
3.通过FPGA控制,从外部RAM读出数据,并且用数码管显示读出的数据。
二.实验原理
用FPGA与外部RAM接口,实现对外部RAM的读写控制。
FPGA需要产生地址信号和读写控制信号,并且需要采用具有双向I/O功能的电路结构,实现对SRAM数据端口输入/输出操作。
接口电路主要由可增减地址计数器LPM_COUNTER、三态总线控制器LPM_BUSTRI、读写控制电路组成。
实验电路结构如图2-4-1所示,外部RAM芯片为SRAM6264,存储容量为8KB。
实验台选择模式NO.4电路结构。
图2-4-1中FPGA与外部RAM端口信号以及实验台的控制信号定义如下:
输入信号:
CLK—地址计数器计数脉冲输入端。
通过K8输入(按两次键产生一个脉冲)。
CLR—地址计数器复位信号输入端。
由K7控制,高电平有效(注意,键7产生单脉冲信号)。
图2-5-1EEPROM28C64引脚图
DATA[7..0]—RAM数据输入端,通过键2/键1:
K1、K2输入(输入十六进制值显示在数码管2/数码管1上)。
R/W—RAM读/写控制信号输入端。
当R/W=0时,RAM输出允许;当R/W=1时,向RAM写数据允许,由单脉冲发生键6,K6控制。
输出及双向信号:
A[12..0]—FPGA输出的地址信号,由计数器LPM_COUNTER产生,与RAM地址线A9~A0相连。
D[7..0]—FPGA与RAM数据口之间的双向数据总线D7~D0。
OE—RAM数据输出允许控制信号,低电平有效。
WE—RAM数据写入控制信号,低电平有效。
LED[7..0]—实验台上数码6、数码5,显示来自RAM的输出数据。
L[7..0]—实验台上数码8、数码7,显示FPGA输送给RAM的地址信号的低8位。
注,验证程序文件在DEMO7_ram6264_EEPROM2864目录,工程文件是2864-b.gdf,下载2864-b.sof至实验台上的FPGA,选择实验电路模式为NO.4,按以下方式进行验证实验。
三.实验步骤
1.在实验台目标板上EEPROM/RAM插座中接SRAM6264芯片;
2.编辑、输入FPGA与外部RAM接口电路图;
3.将编译通过的文件(或验证程序下载文件2864-b.sof)下载到GW-48CPP实验台,实验台选择工作模式NO.4,参考实验讲义;
4.数据写入SRAM6264
(1)利用键2,键1在RAM口放置数据,如5BH(显示于数码管2/1);按动一次或多次键8,输入希望的地址值(显示于数码管8/7);
(2)按动键6,即于RAM的WE端产生一个低电平脉冲;
(3)如果操作无误,这时应该在数码管6/5上显示已被写入的数据(如5BH),因为此时RAM的OE端的电平是0,正处于读数据电平。
(4)重复
(1)—(3),依次写入数据。
5.读出外部RAM6264中数据
(1)按动键7,对地址计数器LPM_counter清0;
(2)连续按动键8,递增地址值,依次顺序读出外部RAM6264中已写入的数据,与输入数据进行比较。
四.实验报告
(1)实验前认真复习CPU与存储器接口部分的有关内容;
(2)写出实验预习报告;
五.思考题
1.FPGA如何与外部存储器双向数据总线接口?
FPGA采用怎样的电路结构、如何控制双向数据口的数据输入/输出?
2.若要对任意指定存储单元进行读写,图2-4-1电路应如何修改?
请在实验台上验证所设计的功能。
3.通过本实验,对CPU与外部存储器接口电路设计有何认识,有什么收获?
4.在计算机外部存储器的读写时序是怎样的?
怎样使FPGA满足对外部RAM的读/写时序要求?
图2-4-1FPGA与外部RAM6264/EEPROM28C64接口电路结构
图2-4-2FPGA与外部16位数据,18位地址线宽SRAM接口电路结构
六.16位SRAM读写逻辑设计
如果要设计16位数据总线的CPU,又要用到大容量的RAM,就必须外接具有16位数据口的RAM。
在实验板上与FPGA相接有一片256K字节的16位RAM:
IDT71V416,电路连接如图2-4-3所示,他的FPGA读写控制电路原理图如图2-4-2所示。
实验验证步骤如下:
1、验证程序文件在DEMO8_sram16b目录,工程文件是sram.gdf,下载sram.sof至实验台上的FPGA,选择实验电路模式为NO.1;用一接插线将适配板上的P198针与键9的插针相接,键9作为清0控制端。
2、利用键4、键3、键2、键1输入数据,放在RAM数据口,如ABCDH(显示于数码管4/3/2/1);
3、按动键9,对地址信号发生计数器清0,键7置0,使处于读RAM状态;
4、按动1次或多次键8,输入希望的地址值(显示于发光管D8—D1,左为高位);
5、按动读写控制键7,使其从010,即读写读,如果操作无误,这时应该在数码管8/76/5上显示已被写入的数据(如ABCDH),因为此时RAM的OE端的电平是0,正处于读数据电平,
6、重复
(2)—(5),依次写入数据。
7、按动键9,对地址信号发生计数器清0,之后连续按键8,递增地址值,将能依次顺序(显示于数码8/7/6/5上)读出外部16位RAM中已写入的数据,与输入数据进行比较。
图2-4-316位SRAM和6264电路原理图
5.FPGA与外部EEPROM接口实验
一.实验目的
1.掌握FPGA与外部EEPROM的硬件接口技术;
二.实验原理
与上一实验FPGA与外部RAM接口实验不同的地方是,RAM是随机存储器,掉电以后RAM中数据会丢失,而EEPROM是可以电改写的只读存储器(图2-5-1),工作时可以改写其中的数据,掉电以后EEPROM中数据不会丢失。
FPGA中的接口控制电路结构与上一实验基本相同,但外部存储器芯片由RAM6264改为EEPROM28C64。
由于EEPROM28C64的写入时间比SRAM的时间长,因此在向28C64写入数据时CLK0的工作频率需适当降低。
电路结构中的CLK0与实验台的CLOCK0时钟频率相连接,CLOCK0可选择16kHz~64kHz。
从EEPROM中读数据时,其工作速度与读RAM的速度相同。
对28C64的读写可以使用以上给出的对6264完全相同的控制逻辑电路(DEMO7_ram6264_EEPROM2864目录,工程文件是2864-b.gdf)。
需要特别注意的是,与RAM的写时序略有不同,若要将在2864数据线口上的数据写入此时对应的地址单元中,必须在2864的写控制端WE,施加一个低电平脉冲,即:
101;0的时间延迟是2864对数据的烧写时间,约10ms。
普通RAM则不必如此,只要将WE始终置0,改变地址值,就能将数据连续写入RAM对应的地址单元中。
三.实验步骤
1.在实验台的目标板的EEPROM/RAM插座中接EEPROM28C64芯片;其余,同上一实验。