EDA与数字系统设计_第1页
EDA与数字系统设计_第2页
EDA与数字系统设计_第3页
EDA与数字系统设计_第4页
EDA与数字系统设计_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

EDA与数字系统设计教材:EDA与数字系统设计李国丽朱维勇何剑春主编几点注意:1、遵守实验室纪律,保持实验室环境,注意电脑病毒。每次实验开始前先签到,完成后汇报实验结果,结束后必须整理实验台。2、原则上不允许互借器件,尤其不要用U盘互拷文件。所有工程文件夹建立在桌面上,不要乱翻硬盘里其他文件夹,可能激活残留的病毒。3、及时备份,不要随意覆盖存档。4、每天及时总结整理报告文档。课程时间安排进度(AM:08:30-11:30PM:14:00-17:00)课程内容实践内容Ⅰ0819AMFPGA简介;建立工程的方法;逻辑门/译码器模块;(1、建立/命名/保存;2、分配引脚/时序图仿真;3、下载/调试;)Ⅱ0819PM模块封装/调用;十六进制/任意进制计数器;(1、74160/74161/7490芯片方案;2、D触发器方案;)Ⅲ0820AMVHDL简介;二十四进制、六十进制计数器模块(VHDL方案);Ⅳ0820PM数字钟设计;校时模块;Ⅴ0821AM闹钟模块;Ⅵ0821PM系统联调、精简;Ⅶ0822AM课程设计报告;FPGAFPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。ⅠQuartusⅡ上手新建一个工程;创建文件;编译工程;分配引脚;时序仿真;下载调试;File->NewProjectWizard第一个空格里填工程文件夹保存地址,地址不支持包含中文;第二个空格填上工程的名称(注意:与“模块名”区分),不支持中文,且前三个字符不允许数字;第三个空格默认与第二个空格一致;Next是否有已建立文件需要导入。没有直接下一步。Next选择FPGA的芯片型号。必须与实际使用的FPGA芯片型号一致,否则无法进行引脚分配。具体芯片型号刻蚀在芯片正面。系列引脚数ⅠQuartusⅡ上手新建一个工程;创建文件;编译工程;分配引脚;时序仿真;下载调试;File->New->BlockDiagram/SchematicFile该文件格式是大家熟悉的电原理图形式。对于熟悉硬件描述语言的高级研发人员,多选择AHDL、VerilogHDL或VHDL格式。加入模块在绘图区双击鼠标左键,即弹出添加符号元件的窗口:Logic:基本逻辑器件,如TTL门电路、芯片pin:引脚,输入输出等快速调用:按元件名搜索,如输入“Vcc”、“7490”,快速调用电源。加入一个输入引脚,一个非门,一个输出引脚:给输入输出引脚命名

双击输入引脚原理图的图标,弹出属性框,如将上面输入命名为“in”。给引脚命名将方便后面的操作。另外还有一个好处:在系统中,两个引脚只要名称相同,即认为它们是相连的。因此在电路器件较多连线交错的情况下,采用这种“虚连”的方法,可以大大降低工作量和错误率,也使得电路更简洁清爽。ld[1..4]:这是一种“总线”名,表示“ld1/ld2/ld3/ld4这四根线”。ⅠQuartusⅡ上手新建一个工程;创建文件;编译工程;

分配引脚;时序仿真;下载调试;Processing->StartCompilation,或者:ⅠQuartusⅡ上手新建一个工程;创建文件;编译工程;分配引脚;时序仿真;下载调试;Assignments->Pins,或者:注意,许多引脚的功能相对受限,比如并不是所有引脚都可以作为CLK输入端,推荐做CLK端的引脚也尽量不要用作I/O。ⅠQuartusⅡ上手新建一个工程;创建文件;编译工程;分配引脚;时序仿真;下载调试;如果没有硬件,可以建立一个时序仿真来检验工程的效果。这不是一个必须的过程,但在Debug的时候非常有用。File->New->VectorWaveFile

,如下图所示:可以对工程中所有引脚逻辑进行仿真,也可仅对其中部分引脚进行仿真,但选择的部分引脚必须满足所仿输出引脚的逻辑充分性。Name区双击鼠标,弹出要加入的引脚对话框点击“NodeFilder…”选择“Pin:all”,然后单击“List”按钮选择需要仿真的逻辑引脚,点击“>”加入在加给定信号之前,先设置仿真时间。Edit->EndTime

,在该窗口中设置仿真的时间长短。仿真时间未必一定与实际时间一致。比如测试一个60进制计数器,可以将CLK信号设置成1000Hz,这样仿真时间只需要60ms就足够了。接下来就是给要仿真的输入引脚加给定信号。注意若输出引脚也加入给定信号的话,仿真就失去意义了。输入波形最常用的就是“时钟信号”和“高/低电平”三种。输出波形给定高/低电平,只需要拖选时间轴上特定区域,点击“激励源”上需要的信号就可以了。对于时钟信号则需要设置“起止时间”,“周期”,“相位”及“占空比”。开始时间终止时间信号频率初相位占空比Processing->StartSimulation,系统开始对电路进行仿真。或者:000000000010001100000000ⅠQuartusⅡ上手新建一个工程;创建文件;编译工程;分配引脚;时序仿真;下载调试;Tools->Programmer,或者:首先,点击“HardwareSetup”查看设备接线是否正常,点击“Model”查看当前模型是不是你要下载到FPGA的模型,无误后点击“Start”。“Progress”达到100%就下载完成了。Ⅱ模块封装/调用选择“File”菜单中的“Create/Update”子菜单中的“CreateSymbolFilesforCurrentFile”

命令。将源工程文件夹里的工程文件、原理图元件、模块元件图拷贝到目的工程文件夹中,就可以在目的工程中像调用基础元件一样调用封装的模块了ⅢVHDL语言File->New->DeviceDesignFile->VHDLFileVHDL文件的封装方式与Schematic文件一致,只是调用的时候要少拷贝一个原理图,代之以一个代码文件。

libraryieee; useieee.std_logic_1164.all; useieee.std_logic_unsigned.all; entityjsq34is

port(clk,reset:in

std_logic;

qh,ql:buffer

std_logic_vector(3downto0)); endjsq34; architectureoneofjsq34is begin process(clk,reset) begin

if(reset='0')then

qh<="0011";ql<="0100";

elsif(clk'eventandclk='1')then if(qh="0000"andql="0001")then

qh<="0011";ql<="0100";

elsif

(ql="0000")then

qh<=qh-1;ql<="1001";

else

ql<=ql-1;定义总线定义端口数字钟实验设计要求设计一个能进行时、分、秒计时的二十四小时制的数字钟,并具有调时与闹钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进行手动调节以校准时间,每逢整点,产生报时音报时。主控电路计数器模块数码管显示设计提示总体框图正常走时计数器模块:24进制计算器60进制计算器60进制计算器Vcc1HzclockCLKCLKCLKCoCo数显数显数显虚线内部分封装待用。校时电路:24进制计算器60进制计算器60进制计算器Vcc1HzclockCLKCLKCLKCoCo手动脉冲手动脉冲CLR如何用一个按键分别给两个计数器加脉冲?“断开自动脉冲,转接手动脉冲”的基本思想就是“选通”,实际就是一个最简单的“1-2译码器”:闹铃模块:246024<-60<-601Hzclock如何用同一组数显分别显示两个计数器组的状态?如何控制发声方式?8输入与门逐位“同或”扬声器手动脉冲扬声器直接将比较信号接扬声器将会产生长达60s的报警。应将其转化成少量的断续信号,例如:10个脉冲响声。&1(60s)十进制计数器CLKCo6+进制计数器CLK×n9:11Hz10s:000010s:0001…10s:1111对“0000”译码比较信号ENEN×10模块精简:非同时作用的按键都可以功能合并,就数字钟来说就可以精简至两个按键:一个“功能键”(实现状态切换),一个“脉冲键”(使当前选中计算器+1)。状态序号逻辑状态输出特征0正常走时所有特殊功能模块都不选通1时钟调“分”选通调时电路,开放脉冲键向“分计数器”的通路2时钟调“时”选通调时电路,开放脉冲键向“时计数器”的通路3闹钟设“分”选通闹钟设置电路,开放脉冲键向“分计数器”的通路4闹钟设“时”选通闹钟设置电路,开放脉冲键向“时计数器”的通路设置一个随“功能键”的输入增计的五进制计数器,与相应电路配合。除了计数器+1之外所有模式切换,例如调时、闹钟设置均由这一个键选择。五进制计数器CLKABCD模式选择键(Key1)模式0激活

3-8

译码器ABCDY0Y1Y2Y3Y4…模式1激活模式2激活模式3激活模式4激活交通信号灯控制器任务与要求设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。设计思路主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。45秒、25秒、5秒定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出,定时结束信号也输入到主控电路,由主控电路启、闭三色信号灯或启动另一计时电路。设计思路主控电路是核心,这是一个时序电路,其输入信号为:(1)车辆检测信号(A,B);(2)45秒、25秒、5秒定时信号(C,D,E)。其状态表为: 状态主干道 支干道时间

0 绿灯亮,允许通行 红灯亮,禁止通行 45秒

1 黄灯亮,停车 红灯亮,禁止通行 5秒

2 红灯亮,禁止通行 绿灯亮,允许通行 25秒

3 红灯亮,禁止通行 黄灯亮,停车 5秒 具体设计时钟产生电路产生1HZ系统时钟。主控电路由两个JK触发器和逻辑门构成,其输出经译码后,控制主干道三色灯R、G、Y和支干道三色灯r、g、y。三个定时器分别产生45秒、25秒、5秒定时信号,电路都是计数器,并受主控电路和来自主、支干道车辆信号控制,每当计满所需时间,即向主控电路输出“时间到”信号,并使计数器清零。设:A:主干道车辆情况,有车为“1”,无车为“0”B:支干道车辆情况,有车为“1”,无车为“0”C:45秒定时信号,45秒定时已到为“1”,45秒定时未到为“0”D:25秒定时信号,25秒定时已到为“1”,25秒定时未到为“0”E:5秒定时信号,5秒定时已到为“1”,5秒定时未到为“0”S0S1S2S3BAC=0BAC=1E=0E=1BAD=1BAD=0E=0E=1状态编码:

S0=00S1=01S2=11S3=10若选JK触发器,其输出为Q2Q1则状态表为:

ABCDEQ2nQ1nQ2n+1Q1n+1x0xxx0000110xx000001xxx0001111xx0001xxxx00101xxxx1011111x0x111101xxx1111x0xxx1110xxxx01010xxxxx1000维持S045秒定时由S0——S1维持S1由S1——S2维持S2

由S2——S3

维持S3

由S3——S05秒定时25秒定时5秒定时从状态表得状态方程得触发器驱动方程:45S、25S、5S定时器CP脉冲驱动方程

则主控电路和各定时电路如图1-5-3所示计数器驱动脉冲如图1-5-4所示译码驱动电路真值表译码驱动电路如图1-5-5所示此例也可以完全由VerilogHDL文件完成具有四种信号灯的交通灯控制器 设计一个具有四种信号灯的交通灯控制器。设计要求是:由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄、左拐允许四盏信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外,左拐灯亮允许车辆向左拐弯。信号灯变换次序为:主支干道交替允许通行,主干道每次放行40S,亮5S红灯让行驶中的车辆有时间停到禁行线外,左拐放行15秒,亮5S红灯;支干道放行30S,亮5S黄灯,左拐放行15秒,亮5S红灯……。各计时电路为倒计时显示。系统框图如图4-7-1所示拔河游戏机设计要求设计一个能进行拔河游戏的电路。电路使用15个(或9个)发光二极管表示拔河的“电子绳”,开机后只有中间一个发亮,此即拔河的中心点。游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点移动一次。亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。由裁判下达比赛开始命令后,甲乙双方才能输入信号,否则,输入信号无效。用数码管显示获胜者的盘数,每次比赛结束自动给获胜方加分。设计提示加/减计数器译码器得分计数显示电路数字式竞赛抢答器设计要求设计一个可容纳四组参賽的数字式抢答器,每组设一个按钮供抢答使用。抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用;设置一个主持人“复位”按钮,主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,用指示灯显示抢答组别,扬声器发出2

3秒的音响。*设置犯规电路,对提前抢答和超时答题(例如3分钟)的组别鸣笛示警,并由组别显示电路显示出犯规组别。设置一个计分电路,每组开始预置10分,由主持人记分,答对一次加1分,答错一次减1分。设计提示鉴别锁存模块答题计时模块计分电路模块扫描显示模块

1.此模块的关键是准确判断出第一抢答者并将其锁存,实现的方法可使用触发器或锁存器,在得到第一信号后将输入封锁,使其它组的抢答信号无效。2.形成第一抢答信号后,用编码、译码及数码显示电路显示第一抢答者的组别,控制扬声器发出音响,并启动答题计时电路。鉴别锁存模块洗衣机控制器设计要求设计一个洗衣机洗涤程序控制器,控制洗衣机的电机作如下规律运转:用两位数码管预置洗涤时间(分钟数),洗涤过程在送入预置时间后开始运转,洗涤中按倒计时方式对洗涤过程作计时显示,用LED表示电机的正、反转,如果定时时间到,则停机并发出音响信号。设计提示洗涤预置时间编码模块减法计数显示时序电路译码驱动模块

数字频率表设计要求1.设计一个能测量方波信号频率的频率计,测量结果用十进制数显示。2.测量的频率范围是1

10KHz,分成两个频段,即1

999Hz,1KHz

10KHz,用三位数码管显示测量频率,用LED显示表示单位,如亮绿灯表示Hz,亮红灯表示KHz。3.具有自动校验和测量两种功能,即能用标准时钟校验测量精度。4.具有超量程报警功能,在超出目前量程档的测量范围时,发出灯光和音响信号。设计提示脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为f=N/T,f为被测信号的频率,N为计数器所累计的脉冲个数,T为产生N个脉冲所需的时间。所以,在1秒时间内计数器所记录的结果,就是被测信号的频率。测量/校验选择模块*计数器模块送存选择报警模块锁存模块扫描显示模块

测量/校验选择模块*输入信号:选择信号selet

被测信号meas

测试信号test输出信号:CP1当selet=0时,为测量状态,CP1=meas;当selet=1时,为校验状态,CP1=test。校验与测量共用一个电路,只是被测信号CP1不同而已。设置1秒定时信号(周期为2秒),在1秒定时时间内的所有被测信号送计数器输入端。计数器对CP1信号进行计数,在1秒定时结束后,将计数器结果送锁存器锁存,同时将计数器清零,为下一次采样测量做好准备。设置量程档控制开关K,单位显示信号Y,当K=0时,为1

999Hz量程档,数码管显示的数值为被测信号频率值,Y显示绿色,即单位为Hz;当K=1时,为1KHz

10KHz量程档,被测信号频率值为数码管显示的数值乘1000,Y显示红色,即单位为KHz。设置超出量程档测量范围示警信号alert。计数器由四级十进制计数构成(带进位C)。若被测信号频率小于1KHz(K=0),则计数器只进行三级十进制计数,最大显示值为999.Hz,如果被测信号频率超过此范围,示警信号驱动灯光、扬声器报警;若被测信号为1KHz

10KHz(K=1),计数器进行四位十进制计数,取高三位显示,最大显示值为9.99KHz,如果被测信号频率超过此范围,报警。左第一位左第一位电子密码锁设计要求设计一个电子密码锁,在锁开的状态下输入密码,密码共4位,用数据开关K1

K10分别代表数字1、2、…、9、0,输入的密码用数码管显示,最后输入的密码显示在最右边的数码管上,即每输入一位数,密码在数码管上的显示左移一位。可删除输入的数字,删除的是最后输入的数字,每删除一位,密码在数码管的显示右移一位,并在左边空出的位上补充“0”。用一位输出电平的状态代表锁的开闭状态。为保证密码锁主人能打开密码锁,设置一个万能密码,在主人忘记密码时使用。设计提示密码输入删除控制模块寄存模块比较模块扫描显示模块脉冲按键电话按键显示器设计要求设计一个具有7位显示的电话按键显示器,显示器应能正确反映按键数字,显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前显示位,七位数字输入完毕后,电话接通,扬声器发出“嘟——嘟”接通声响,直到有接听信号输入,若一直没有接听,10秒钟后,自动挂断,显示器清除显示,扬声器停止,直到有新号码输入。设计提示号码输入显示控制模块主控制模块扫描显示模块乒乓球比赛游戏机任务与要求设计一个由甲、乙双方参赛,有裁判的3人乒乓球游戏机。用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。若击中,则球向相反方向移动;若未击中,则对方得1分。一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。设计思路用双向移位寄存器的输出端控制LED显示

温馨提示

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

评论

0/150

提交评论