EDA实验讲义(2012版)_第1页
EDA实验讲义(2012版)_第2页
EDA实验讲义(2012版)_第3页
EDA实验讲义(2012版)_第4页
免费预览已结束,剩余15页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDA技术实验讲义湖南文理学院物电系电子技术教研室2013第一部分硬件资源说明1) PORT A 信号分配, EP4CE22F17C8,FPGA 芯片PORT AFPGA管脚信号PORT AFPGA管脚PIN_1+5VPIN_2PIN_3GNDPIN_4PIN_5PIN_B3D0PIN_6PIN_A4PIN_7PIN_B4D2PIN_8PIN_A5PIN_9PIN_A14D4PIN_10PIN_B14PIN_11PIN_B11D6PIN_12PIN_B10PIN_13PIN_P14D8PIN_14PIN_R14PIN_15PIN_N14D10PIN_16PIN_K16PIN_17PIN_K15

2、D12PIN_18PIN_L16PIN_19PIN_L15D14PIN_20PIN_N16PIN_21PIN_C9A0PIN_22PIN_D3PIN_23PIN_A2A2PIN_24PIN_C3PIN_25PIN_A3A4PIN_26PIN_B5PIN_27PIN_A6A6PIN_28PIN_B6PIN_29PIN_A7A8PIN_30PIN_B7PIN_31PIN_A11A10PIN_32PIN_B12PIN_33PIN_A12A12PIN_34PIN_B13PIN_35PIN_A13A14PIN_36PIN_D5PIN_37PIN_C11PIN_38PIN_J13PIN_39PIN_D12

3、PIN_40PIN_D11PIN_41PIN_E9PIN_42PIN_E11PIN_43PIN_R16PIN_44PIN_N15PIN_45PIN_P16PIN_46PIN_P15PIN_47PIN_48PIN_49PIN_F8PIN_50PIN_F8PIN_51PIN_52PIN_53PIN_54PIN_55PIN_56PIN_57PIN_F16SPI_I1PIN_58PIN_F15信号+5VGNDD1D3D5D7D9D11D13D15A1A3A5A7A9A11A13A15SPI_I24PIN_59PIN_D15SPI_I3PIN_60PIN_D16SPI_I4注意:从FPGA引出到PORT

4、 A、 PORT B的所有信号线,在适配器板上均有其它器件复用,使用时一定要注意,请查看E-Play-SOPC 适配器原理图或查看前面FPGA对其它芯片的管脚分配表。2) PORT B 信号分配PORT BFPGA管脚信号PORT BFPGA管脚信号PIN_1NCPIN_2NCPIN_3NCPIN_4NCPIN_5PIN_N12SPI_NSS1PIN_6PIN_J14SPI_CLK1PIN_7PIN_L13SPI_MISO1PIN_8PIN_J15SPI_MOSI1PIN_9PIN_R12PIN_10PIN_G15PIN_11PIN_D6E_UART_RPIN_12PIN_E6E_UART_T

5、PIN_13NCPIN_14NCPIN_15PIN_M10E_ALEPIN_16PIN_T10E_IO1PIN_17PIN_T11E_IO2/ 3?PIN_18PIN_E10E_IO3PIN_19PIN_E8E_IO4PIN_20NCPIN_21NCPIN_22NCPIN_23NCPIN_24NCPIN_25PIN_T13E_IO9PIN_26PIN_T12E_IO10PIN_27PIN_T15E_IO11PIN_28PIN_T14E_IO12PIN_29PIN_F13E_IO13PIN_30PIN_N9E_IO14PIN_31PIN_E7E_IO15PIN_32PIN_P6E_IO16PIN

6、_33PIN_J16LCD_CPIN_34NCPIN_35NCPIN_36NCPIN_37PIN_N11E_IO5PIN_38PIN_P11E_IO6PIN_39PIN_R11E_IO7PIN_40PIN_R10E_IO8PIN_41PIN_P9CPLD_1PIN_42PIN_F9CPLD_2PIN_43PIN_T7CPLD_3PIN_44PIN_T6CPLD_4PIN_45NCPIN_46NCPIN_47NCPIN_48NCPIN_49NCPIN_50NCPIN_69NCPIN_70NC3)系统复位及系统时钟分配:FPGA管脚网络或符号备注PIN_E1SYS_CLK系统时钟PIN_M1Sys

7、_nRST系统复位54)模式分配16 个用户IO 单元IO1-IO16都是通过PORTB 从 FPGA 直接引出,供用户二次开发使用,具体定义请参照PORTB 的接口定义。16 个拨码开关,16 个按键, 12 个交通灯和蜂鸣器四周4 个灯, 8 位数码管, 4x4 矩阵键盘,16x16 点阵 LED 均是从底板的两片CPLD 引出的,这些资源有IO 方式和总线操作两种控制方式。当采用IO 控制方式时,通过PORTB 的 41-44四位设置不同的值来选择不同的资源。4 位功能管脚说明:PORT B对应标识41M042M143M244M3M3.0000116位拨码开关接到16位数据总线上0011

8、16位按键接到 16位数据总线上011112个交通灯和蜂鸣器四周4 个灯接到16 位数据总线上00108 个数码管 ,低 8 位为 7 位段总加小数点选取位,高 8 位为 8 个数码管com 端选取 ,即如果要选取数码管0,则发送总线值为:1111 1110 1111 1111,如要选取数码管1,则发送总线值为 :1111 1101 1111 1111. 此时所选数码管7 段和 DP 位将全部亮.0101 4X4 键盘功能选取,此时只有最低的8 位有效 ,高 4 位为键盘的4 位行扫描输出,低 4 位为键盘的4 位列查询输入0110 16X16 LED点阵显示功能选取,16 位数据总线作为点阵

9、的行值,4 位地址对应列值编码 ,(底板上已经过译码).4位地址分别对应E-PLAY-SOPC主适配器上外扩总线地址的ADDRESS4.1在做基本的数字逻辑实验时, 如果用到底板的资源时,一定要设置M3.04位功能位,并且设置值一定要与上述功能对应,如不对应有可能对硬件造成损伤.当实验用到的拨码,按键 ,LED 小于 5 位时 ,可以使用E-PLAY-SOPC适配器上的资源,当实验中仅使用到E-PLAY-SOPC适配器就可以完成时,可以不设置M3.0特别注意在做QuartusII工程时 必须 将未分配的管脚置为三态输入。QuartusII->Assignments->6Device

10、-> Device->Device & Pin Options-> Unused Pins -> Reserve all unused pins : ASinput tri-stated 。如未将未分配管脚置为三态输入,将可能导致主芯片或外围芯片损坏,属人为使用不当,公司将不负责。5)可调时钟输出单元底板上ADJ_CLK为 4 位拨码开关SW17-SW20来控制输出40M 分频后的可调时钟具体对应如下SW20SW19SW18SW17ADJ_CLK11111Hz01115Hz101110Hz001125Hz110150Hz0101500Hz10011KHz0001

11、2.5KHz111010KHz011020KHz101050KHz0010200KHz1100500KHz01002MHz10005MHz000020MHzCLK110MHz 固定时钟 (40MHz分频产生 )CLK21MHzCLK3100KHzCLK45KHzCLK5100Hz7第二部分 VHDL 文本输入设计方法1、打开QuartusII 软件。2 、选择路径。选择File/New Project Wizard,指定工作目录,指定工程和顶层设计实体称;注意:工作目录名不能有中文。3 、添加设计文件。将设计文件加入工程中。单击“ Next,”如果有已经建立好的VHDL或者原理图等文件可以在F

12、ile name 中选择路径然后添加,或者选择Add All添加所有可以添加的设计文件( .VHDL ,.Verilog原理图等) 。如果没有直接点击“Next”,等建立好工程后再添加也可,这里我们暂不添加。4、选择 FPGA 器件。Family 选择 Cyclone 4 ,Available device选 EP4CE22F17C8,Packge选择 Any ,Pin Count选择 484 , Speed grade 选择 Any ;点击“ Next ”。85、选择外部综合器、仿真器和时序分析器。QuartusII 支持外部工具,可通过选中来指定工具的路径。这里我们不做选择,默认使用Qua

13、rtus II自带的工具。6、结束设置。单击“Next ”,弹出“工程设置统计”窗口,上面列出了工程的相关设置情况。最后单击“Finish ”,结束工程设置。7、建立VHDL原文件 。 选择菜单“File”“ New ”。8、添加文件到工程中。VHDL原文件编辑完后,选择File/Save ,选择和工程相同的文件名。点击 “保存 ”,文件就被添加进工程当中。9、编译。选择Processing/Start/Start Analysis&Synthesis,进行综合。10、功能仿真验证,从菜单File-New中选择创建Vector Waveform File,如下图所示。9在新的波形文件中

14、选入需要验证的引脚,通过在左边窗栏理点击鼠标右键,选InsertNode orBus . ,在打开的对话框中点击List,选择所要观察的信号引脚,设置引脚的信号值,如下图所示。点击保存Save.在 Settings 对话框中,选中Simulator Settings选择页,设置Function 类型仿真,并将新创建的波形文件当作仿真输入,如下图所示:设置完毕之后,点击Processing ->Generate Functional Simulator NetList,生产网表文件之后,点击Start Simulator ,进行功能仿真,然后验证逻辑功能是否正确。11、添加管脚信息。当综合

15、完成后,网表信息才会生成。选择Assignments/AssignmentEditor在 Edit 中选择 Node Fider ,在 Node Fider 中选择 List 显示所有节点信息,然后全部选中。为每个节点分配引脚。1012、全局编译。 点击 Assignments/Device c菜单,在对话框中选CycloneIVE 系列的 EP4CE22F17C8N芯片,重新编译一次。13、下载。下载可以选择JTAG 方式,选择 Tool/Programmer ,选择 JTAG 下载方式, 选择 Add File ,添加 .sof 文件,并选中Program/Configure,点击 “St

16、art后”开始下载。第一次使用下载时,首先点击“ Hardware Setup. ,打”开Hardware Setup 对话框,然后点击Add Hardware ,选择USB 方式。11第三部分实验实验一2 选 1 多路选择器的VHDL 描述1 、实验目的: 学习 QuartusII 软件的应用,以及组合电路的设计、仿真,进一步熟悉 VHDL 设计技术。2 、实验原理:2 选 1 多路选择器3 、实验内容:1、学习使用 QuartusII 软件,学会工程的建立,程序编辑、软件编译、波形编辑、仿真分析等必要过程。2、编写程序,说明各语句的含义,以及整体功能。在QuartusII上对它进行编辑、编

17、译、综合、适配、仿真,给出其所有信号的时序仿真波形。4 、实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析和详细实验过程;设计原程序,程序分析报告、仿真波形图及其分析报告。【参考程序】第一部分LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY mux21a ISPORT ( a, b : IN BIT;s : IN BIT;y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS12BEGINPROCESS (a,b,s)BEGINIF s = '

18、0' THENy <= a ; ELSEy <= b ;END IF;END PROCESS;END ARCHITECTURE one ;参考仿真结果:仿真波形实验二译码器一、实验目的设计并实现一个3-8 译码器。二、实验原理常用的译码器有: 2-4 译码器、 3-8 译码器、 4-16 译码器,下面我们用一个 3-8 译码器的设计来介绍译码器的设计方法。3-8 译码器如图10-1 所示,其真值表如表10-1 。图 10-1 3-8 译码器表 10-1 3-8 译码器真值表:输入输出13G1G2AG2BABCY0NY1NY2NY3NY4NY5NY6NY7N0XXXXX111

19、111111000000111111110000110111111100010110111111000111110111110010011110111100101111110111001101111110110011111111110下面我们用VHDL语言来描述一个3-8 译码器。LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY decoder3_8 ISPORT(A, B,C,G1,G2A,G2B:INSTD_LOGIC;Y: OUTSTD_LOGIC_VECTOR(7 DOWNTO 0);END decoder3_8;ARCHITECTURE

20、fun OF decoder3_8 ISSIGNAL indata: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINM<= "0001";indata <= C&B&A;encoder:PROCESS (indata, G1, G2A,G2B)BEGINIF (G1='1' AND G2A='0' AND G2B='0') THENCASE indata ISWHEN "000"=>Y<="11111110"WHEN &quo

21、t;001"=>Y<="11111101"WHEN "010"=>Y<="11111011"WHEN "011"=>Y<="11110111"WHEN "100"=>Y<="11101111"WHEN "101"=>Y<="11011111"WHEN "110"=>Y<="10111111"WHE

22、N "111"=>Y<="01111111"WHEN OTHERS =>Y<="XXXXXXXX"END CASE;ELSEY<="11111111"END IF;END PROCESS encoder;END fun;请参考以上程序设计一4-16 译码器。14三、实验连线- A,B,C,G,G2A,G2B分别接SW1-SW6- Y IO9-IO16 (IO9-IO16用导线连接L1-L8,LED高电平点亮)- M 4 位功能选择位输入信号A 、B 、C、G1、G2A 、G2B 分别对

23、应SW1 SW6,其中 A 、B 、C 代表三路数据输入,G1 、 G2A 、 G2B 代表控制端;输出信号 Y0 Y7 对应 IO9 IO16 ,代表 8 路译码数据输出。实验接线 : IO9 IO16 用导线连接 L1 L8 , LED 高电平点亮功能选择位M3.0 状态为0001 ,即 16 位拨码SW1 SW16 被选中输出到总线D15.0。改变拨码开关的状态,参照表10-13-8 译码器真值表,观察实验结果。四、实验记录对译码器造表,得到其真值表,并分析其运算结果的正确性。实验三十进制计数器一、实验目的1、 设计一个带使能输入、进位输出及同步清0 的增 1 十进制计数器,波形图见图2

24、2-12、 设计一个带使能输入及同步清0 的增 1 计数器,波形图见图22-2二、实验内容图 22-1计数器1 波形图图 22-2计数器2 波形图在用 VHDL语言描述一个计数器时,如果使用了程序包ieee.std_logic_unsigned,则在描述计数器时就可以使用其中的函数“+”(递增计数)和“-”(递减计数) 。假定设计对象是增1 计数器并且计数器被说明为向量,则当所有位均为1时,计数器的下一状态将自动变成0。举例来说,假定计数器的值到达“111是”将停止,则在增1 之前必须测试计数器的值。如果计数器被说明为整数类型,则必须有上限值测试。否则,在计数顺值等于7,并且要执行15增 1

25、操作时,模拟器将指出此时有错误发生。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY counter ISPORT(clr,en,clk: IN STD_LOGIC;co: OUT STD_LOGIC;Q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);M: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END counter;ARCHITECTURE counter1 OF counte

26、r ISSIGNAL qs: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL ca: STD_LOGIC;BEGINM<= "0001"PROCESS(clk)- VARIABLE q10:INTEGER;BEGIN IF(rising_edge(clk) THENIF(clr='1') THEN qs<="0000"ELSIF(en='1') THEN IF(qs="1001") THENqs<="0000"ca<='1

27、9;ELSEqs <= qs+1; ca<='0'END IF; END IF;END IF;END PROCESS; Q<= qs;co<= ca AND en;END counter1;参考以上实例完成实验目的中所要求的2 个计数器的设计。16三、实验连线- en,clr 对应 SW1,SW2- clk PIN28,(将 ADJ_CLK与 IO3 相连 ,调节拨码SW17-SW20, 使输出1Hz 时钟 )- Q 对应 IO9 IO12 , co 对应 IO13 , (IO9 IO13 用导线连接L1 L5)- M 4 位功能选择位1 、 en、 c

28、lr 分别对应SW1 、 SW2clk (对应管脚为IO3 ),(将 ADJ_CLK与 IO3 相连,调节拨码SW17 SW20, 使输出1Hz 时钟)Q 对应 IO9 IO12 , co 对应 IO13 , (IO9 IO13 用导线连接L1 L5)功能选择位M3.0 状态为0001 ,即 16 位拨码SW1 SW16 被选中输出到总线D15.02、本实验没有co,其它接线同1实验四1 位全加器VHDL文本输入设计1 、实验目的:学习 QuartusII软件的应用软件的应用,以及元件例化语句,进一步熟悉VHDL 设计技术。2 、实验原理:1 位全加器可以如图那样用两个半加器及一个或门连接而成

29、,首先完成半加器和或门两元件的底层设计,然后用例化语句作出顶层设计,完成1 位全加器的描述。3 、实验内容:1、学习使用 QuartusII 软件,学会工程的建立,程序编辑、软件编译、波形编辑、仿真分析等必要过程。2、编写程序,说明各语句的含义,以及整体功能。在 QuartusII 软件上对它进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。4 、实验报告: 根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;设计原程序,程序分析报告、仿真波形图及其分析报告。【参考程序】1 位全加器VHDL文本输入设计,利用以下2 个程序。半加器:LIBRA

30、RY IEEE;USE IEEE.STD_LOGIC_1164.ALL;17ENTITY half_adder ISPORT (a,b :IN STD_LOGIC;s,co:OUT STD_LOGIC);END half_adder;ARCHITECTURE half1 OF half_adder ISSIGNAL c,d : STD_LOGIC;BEGINc<=a OR b;d<=a NAND b;co<=NOT d;s<=c AND d;END half1;全加器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ful

31、ladder ISPORT (a, b, cin:IN STD_LOGIC;sum,co :OUT STD_LOGIC;M : out std_logic_vector(3 downto 0);END fulladder;ARCHITECTURE full1 OF fulladder ISCOMPONENT half_adderPORT (a,b :IN STD_LOGIC;s,co:OUT STD_LOGIC);END COMPONENT ;SIGNAL u0_co,u0_s,u1_co : STD_LOGIC;BEGINM <= "0001"U0: half_adder PORT MAP(a,b,u0_s,u0_co);U1: half_adder PORT MAP(u0_s, cin, sum, u1_co);co<=u0_co OR u1_co;END full1;参考仿真结果:5 自选一种模式完成电路的硬件测试18实验五数控分频器的设计1、实验目的:学习数控分频器的设计、分析和测试方法。2 、实验原理 :数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比, 参考程序 的数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论