1、EDA技术基础实验指导书实验一 EDA工具基本操作与应用一、实验目的1、通过一个简单的D触发器的设计,让学生掌握QUARTUSII设计工具进行电子设计的基本流程。2、初步了解可编程器件设计的全过程。二、主要仪器设备EDA实验系统一台,EDA/SOPC实验系统一台三、 实验步骤 QUARTUSII软件的基本操作与应用1、运行QUARTUSII软件。2、选择File/New Project Wizard,新建一个工程,并点击Next。图:1-13、指定工作目录及工程顶层设计实体名称,如图1-1所示,并点击2次Next。4、选择FPGA器件,如图1-2所示,并点击Finish,工程文件建立结束。图:
2、1-25、点击File/New,新建一个VHDL文件,如图1-3所示。图:1-36、点击Ok,并保存,无需任何修改,点击Ok即可。7、按照自己的想法在新建的VHDL文件中编写VHDL程序,如D触发器程序代码,如图1-4所示。图:1-48、代码书写结束后,选择Processing/Start Compilation对编写的程序代码进行编译,直至编译通过,否则对程序代码进行修改。9、编译通过后,选择File/New,在弹出的对话框中点击Other Files,选择Vector Waveform File,并点击OK,建立一个波形文件,如图1-5所示,保存波形文件。图:1-510、在波形文件加入输入
3、输出端口,如图1-6所示。图:1-611、对加入到波形文件中的输入端口进行初始值设置,并点击Processing/Start Simuliation进行仿真。查看仿真结果是否符合要求。12、仿真无误后,选择Assignments/Assing Pins对实验中用到的管脚进行绑定分配,如图1-7所示。图1-713、对于复用的引脚,需做进一步处理,使其成为通用I/O。14、最后再编译一次,编译无误后,用下载电缆通过JTAG接口将对应的dff2.sof文件下载到FPGA中。15、在实验系统中正确连线,观察实验结果是否与仿真结果相吻合。四、实验报告根据以上实验内容写出实验报告,包括设计流程,仿真结果及
4、分析等内容。实验二 一般计数器设计一、实验目的1、加深对计数器的认识2、了解用VHDL语言实现计数器的过程3、掌握EDA开发的基本流程二、主要仪器设备EDA实验系统1台PC机三、实验内容1、运用VHDL设计1个4位二进制计数器,计数范围从0000计到1111。2、在1的基础上增加时钟使能作用及异步清零功能3、在2的基础上实现计数器的计数范围控制,如从0000计到1001。四、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。实验三 移位寄存器设计一、实验目的1、掌握移位寄存器的设计方法2、掌握VHDL的简单控制实现二、主要仪器设备EDA实验系统1台P
5、C机三、实验内容运用VHDL设计1个带并行置数功能可以循环左移和右移的8位移位寄存器。四、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。实验四 8421BCD码计数器设计及显示一、实验目的1、掌握8421BCD码计数器的设计方法 2、会用VHDL语言完成数码显示工作二、主要仪器设备EDA实验系统1台PC机三、实验内容1、运用VHDL设计1个模为24的8421BCD码加法计数器。2、将计数结果在数码管上显示四、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。实验五 四人抢答器设计一、实验目的1、熟悉四人
6、抢答器的工作原理2、加深对VHDL语言的理解二、主要仪器设备EDA实验系统一台三、实验原理抢答器在各类竞赛性质的场合得到了广泛地应用,它的出现,消除了原来由于人眼的误差而未能正确判断最先抢答的人的情况。抢答器的原理比较简单,首先必须设置一个抢答允许标志位,目的就是为了允许或者禁止抢答者按按钮:如果抢答允许位有效,那么第一个抢答者按下的按钮就将允许标志位清除,同时记录按钮的序号,也就是对应的按按钮的人,这样做的目的是为了禁止后面再而有人按下按钮的情况出现。总的说来,抢答器的目的就是在抢答允许位有效后,第一个按下按钮的人将其清除以禁止再有按钮按下,同时记录清除抢答允许位的按钮的序号并显示出来,这就
7、是抢答器的基本原理。四、实验内容1本实验的任务就是用VHDL语言设计一个四人抢答器,用按键如S1做抢答允许位按钮,用S2S5来表示1号到4号抢答者,同时LED模块分别表示抢答者对应的位子。具体要求是按下一次S1,允许一次抢答,这时S2S5中第一个按下的按键将抢答允许位清除,同时将对应的LED点亮,用来表示对应的按键抢答成功。2(选做内容)将抢答选手的编号用数码管显示出来。五、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。实验六 正弦信号发生器设计一、实验目的1、熟悉基于DDS的正弦信号发生器的基本工作原理2、设计出一个频率可变的正弦信号发生器号源
8、。二、主要仪器设备EDA/SOPC实验系统1台,示波器1台三、实验原理如图6-1所示为基本DDS结构,由相位累加器、相位调制器、正弦ROM查找表、D/A构成。相位累加器是整个DDS的核心,完成相位累加运算。相位累加器的输入是相位增量,又由于与输出频率呈线性关系:,因此相位累加器的输入又可称为频率字输入。相位调制器接收相位累加器的相位输出,加上一个相位偏移量,用于信号的相位调制,不用时可以去掉,或者加一固定值。正弦ROM查找表完成的查表转换,也就是相位到幅度的转换,它的输入是相位调制器的输出,事实上就是ROM的地址。图6-1 DDS原理框图四、实验内容1、本实验要完成任务就是设计一个正弦信号发生
9、器,用VHDL设计出同步寄存器、相位累加器等,正弦ROM查找表建议采用定制器件的方法完成,正弦ROM数据文件可以用C代码完成。2、(选做内容)改变ROM存放数据格式,使之为方波或三角波,设计出可以输出包括正弦、三角及方波的DDS信号源。五、实验报告根据以上实验内容写出实验报告,包括仿真结果及分析、硬件实现、硬件测试等内容。实验七 有限状态机的设计一、实验目的1、掌握有限状态机设计方法2、掌握多进程描述方法二、主要仪器设备EDA实验系统1台PC机三、实验内容运用VHDL设计1个含至少4个状态的有限状态机,可以是MEALY或MOORE型的状态机,状态图自行设计。四、实验报告根据以上实验内容写出实验
10、报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。选做实验一 交通灯控制器设计一、实验目的1、了解交通灯的燃灭规律。2、了解交通灯控制器的工作原理。3、熟悉VHDL 语言编程,了解实际设计中的优化方案。二、主要仪器设备EDA/SOPC实验系统1台三、实验原理交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车子如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿
11、各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的燃灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。在实验中使用8 个七段码管中的任意两个数码管显示时间。东西路和南北路的通车时间均设定为20s。数码管的时间总是显示为19、18、172、1、0、19、18。在显示时间小于3 秒的时候,通车方向的黄灯闪烁。四、实验内容本实验
12、要完成任务就是设计一个简单的交通灯控制器,交通灯显示用实验箱的交通灯模块和七段码管中的任意两个来显示。系统时钟选择时钟模块的1KHz 时钟,黄灯闪烁时钟要求为2Hz,七段码管的时间显示为1Hz 脉冲,即每1s 中递减一次,在显示时间小于3 秒的时候,通车方向的黄灯以2Hz的频率闪烁。系统中用S1 按键进行复位。五、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。选做实验二 数字钟设计一、实验目的1、了解数字钟工作原理,设计出一个具有时、分、秒并可调时的数字钟。2、进一步熟悉用VHDL 语言编写驱动七段码管显示的代码。二、主要仪器设备EDA/SOPC
13、实验系统1台三、实验原理多功能数字钟应该具有的功能有:显示时分秒、整点报时、小时和分钟可调等基本功能。首先要知道钟表的工作机理,整个钟表的工作应该实在1Hz 信号的作用下进行,这样每来一个时钟信号,秒增加1 秒,当秒从59 秒跳转到00 秒时,分钟增加1 分,同时当分钟从59 分跳转到00 分时,小时增加1 小时,但是需要注意的是,小时的范围是从023 时。在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从059,所以可以用一个3 位的二进制码显示十位,用一个四位的二进制码(BCD码)显示个位,对于小时因为它的范围是从023,所以可以用一个2 位的二进制码显示十位,用4 位二进制码(BCD
14、 码)显示个位。实验中由于七段码管是扫描的方式显示,所以虽然时钟需要的是1Hz时钟信号,但是扫描确需要一个比较高频率的信号,因此为了得到准确的1Hz 信号,必须对输入的系统时钟进行分频。对于报警信号,由于实验箱上只有一个小的扬声器,而要使扬声器发生,必须给其一定频率的信号进行驱动,频率越高,声音越尖。另外由于人耳的听觉范围是300Hz10KHz 左右,所以设计时也要选择恰当的发声频率。四、实验内容本实验的任务就是设计一个多功能数字钟,要求显示格式为 小时分钟秒钟,整点报时,报时时间为10 秒,即从整点前10 秒钟开始报警,且前五次报警的声音频率较低,最后一次报警声音的频率较高,类似于收音机整点
15、报时,即从xx5950 秒开始,依次为嘀、嘀、嘀、嘀、嘀、嗒。系统时钟选择时钟模块的10KHz,要得到1Hz 时钟信号,必须对系统时钟进行10,000 次分频。调整时间的的按键用按键模块的S1 和S2,S1 调节小时,每按下一次,小时增加一个小时,S2 调整分钟,每按下一次,分钟增加一分钟。报时的喇叭采用实验箱的扬声器模块,整点报时时嘀声用1.25KHz(对10KHz 信号进行8 分频),嗒声用2.5KHz(对10KHz 信号进行4 分频)。另外用S8 按键作为系统时钟复位,复位后全部显示000000。五、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等
16、内容。选做实验三 出租车计费器设计一、实验目的1了解出租车计费器的工作原理。2学会用VHDL 语言编写正确的七段码管显示程序。3数量掌握用VHDL 编写复杂功能模块。4掌握电机测速、显示电器、计数电路的设计方法。5熟悉状态机在数字系统设计中的应用二、主要仪器设备EDA/SOPC实验系统1台三、实验原理出租车计费器一般都是按公里计费,通常是起步价xx 元(xx 元可以行走2 公里),然后再是xx 元/公里。所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了
17、里程。在这个实验中,就要模拟出租车计费器的工作过程,用直流电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。结果的显示用8 个七段码管,前四个显示里程,后四个显示费用。在设计VHDL 程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。为了便于显示,在编写过程中的数据用BCD 码来显示,这样就不存在数据格式转换的问题。比如表示一个三位数,那么就分别用四位二进制码来表示,当个位数字累加大于9时,
18、将其清零,同时十位数字加1,依此类推。四、实验内容本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价3 元,准行1 公里,以后1 元/公里。显示部分的七段码管扫描时钟选择时钟模块的1KHz,电机模块的跳线选择GND 端,这样通过旋钮电机模块的电位器,即可达到控制电机转速的目的。另外用按键模块的S1 来作为整个系统的复位按钮,每复位一次,计费器从头开始计费。直流电机用来模拟出租车的车轮子,没转动一圈认为是行走1 米,所以每旋转1000 圈,认为车子前进1 公里。系统设计是需要检测电机的转动情况,每转一周,计米计数器增加1。七段码管显示要求为前4 个显示里程,后3 个显示费用。五、实验
19、报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。选做实验四 频率计的设计一、实验目的1 了解频率计的工作原理。2 体会FPGA 在数字系统设计方面的灵活性。3 掌握VHDL 在测量模块设计方面的技巧。二、主要仪器设备EDA/SOPC实验系统1台、信号源1台三、实验原理所谓频率就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔T(也称闸门时间)内测得这个周期性信号的重复变化次数为N,则其频率可表示为fN/T由上面的表示式可以看到,若时间间隔T 取1s,则fN,但是这种频率计仅能测出频率大于或者等于1Hz 的情况,且频率越高,精度也越高。实际应
20、用中,频率计的闸门时间十个可变量,当频率小于1Hz 是,闸门时间就要适当放大。本实验中为了简化实验代码,闸门时间固定为1s,闸门信号是一个0.5Hz 的方波,在闸门有效(高电平)期间,对输入的脉冲进行计数,在闸门信号的下降沿时刻,所存当前的计数值,并且清零所有的频率计数器。由于闸门时间是1s(0.5Hz 方波),所以显示的频率是1s 钟更新一次,且显示的内容是闸门下降沿时锁存的值。在设计频率计的时候,八个七段码管最多可以显示99,999,999Hz,因此在设计时候用八个4 位二进制码(BCD 码)来表示,另外还必须有同样的八个4 位二进制码来对输入的频率进行计数,在闸门下降沿的时候,将后者的值
21、锁存到前者的8 个寄存器中。另外为了读数方便,在显示时需要进行判断,假如频率的值小于1KHz 并且大于100Hz,那么只显示三位有效值,其他高位全部不显示。四、实验内容本实验要完成的任务就是设计一个频率计,系统时钟选择实验箱时钟模模块的1KHz 时钟,闸门时间为1s(0.5Hz,需要对系统时钟进行2000 分频),在闸门为高电平期间,对输入的频率进行计数,当闸门变低的时候,记录当前的频率值,并将频率计数器清零,频率的显示每过2 秒刷新一次。频率计的输入从实验箱的观察模块的探针输入。五、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。附 录FPGA接
22、口对照表复位信号信号名称对应FPGA引脚RESET240串行接口(RS-232)信号名称对应FPGA引脚RXD1195TXD1128RXD2223TXD2222VGA接口信号名称对应FPGA引脚R219G218B217HS216VS215PS/2接口信号名称对应FPGA引脚CLOCK214DATA213USB接口模块信号名称对应FPGA引脚DB0228DB1233DB2234DB3235DB4236DB5237DB6238DB7239A0227WR224RD225CS208INT207SUSPEND206LCD显示模块信号名称对应FPGA引脚DB0228DB1233DB2234DB3235DB
23、4236DB5237DB6238DB7239C/D227WR224RD225CS226以太网接口模块信号名称对应FPGA引脚SA096/38SA195SA294SA393SA488SA587SA686SA785SA884SA983SD098SD1100SD241SD3104SD4106SD5108SD6114SD7116SD899SD9101SD1047SD11105SD12107SD13113SD14115SD15117RD82WR23AEN79INT39RESET21LED显示模块信号名称对应FPGA引脚D1_198D1_299D1_3100D1_4101D1_541D1_647D1_71
24、04D1_8105D2_1106D2_2107D2_3108D2_4113D2_5114D2_6115D2_7116D2_8117拨档开关信号名称对应FPGA引脚K1153K257K356K455K554K653K750K849按键模块信号名称对应FPGA引脚S166S265S364S463S562S661S760S859键盘阵列模块信号名称对应FPGA引脚ROW066ROW165ROW264ROW363COL062COL161COL260COL359七段码显示模块信号名称对应FPGA引脚A219B218C214D213E217F216G215DP42SEL043SEL144SEL245交通灯
25、显示模块信号名称对应FPGA引脚R120Y119G118R217Y216G215高速DA和高速AD模块信号名称对应FPGA引脚DB03DB14DB25DB36DB47DB58DB611DB712AD_CLK1AD_OE2DA_CLK13存储器模块信号名称对应FPGA引脚A0187A1186A2185A3184A4183A5170A6169A7168A8167A9166A10132A11196A12197A1358A14126A15200A16201A17131A18188A18203A20202DB0181DB1180DB2179DB3178DB4177DB5176DB6175DB7174DB
26、8143DB9141DB10140DB11139DB12138DB13137DB14136DB15135DB16118DB17119DB18120DB19121DB20122DB21123DB22124DB23125DB24165DB25164DB26163DB27162DB28161DB29160DB30159DB31158SRAM_RD194SRAM_WR173SRAM_BE0134SRAM_BE1133SRAM_BE2156SRAM_BE3144SRAM_CS182FLASH_RD127FLASH_WR193FLASH_CS206音频CODEC模块信号名称对应FPGA引脚SDIN77SCLK78CS76BCLK75DIN74LRCIN73LRCOUT67DOUT68时钟源模块信号名称对应FPGA引脚CLOCK28扬声器模块信号名称对应FPGA引脚SPERKER46直流电机模块信号名称对应FPGA引脚PWM14SPEED29输入输出探测模块信号名称对应FPGA引脚INPUT152OUTPUT48
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1