版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
**北京邮电大学数字电路与逻辑设计实验学院:班级:姓名:学号:班内序号:实验一实验名称QuartusII原理图输出法设计半加器实验任务要求用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。设计思路和过程◎设计思路半加器电路是指对两个输入数据位进行加法,输出一个结果位和进位,不产生进位输入的加法器电路,是实现两个一位二进制数的加法运算电路。数据输入:被加数AI、加数BI数据输出:半加和SO、进位CO◎
设计过程(1)列出真值表输入输出AIBISOCO0000011010101101*表中两个输入是加数AI和BI,输出有一个是和SO,另一个是进位CO。(2)根据真值表写出输出逻辑表达式该电路有两个输出端,属于多输出组合数字电路,电路的逻辑表达式如下:,。所以,可以用一个两输入异或门和一个两输入与门实现。◎实验原理图仿真波形图及分析根据仿真波形对比半加器真值表,可以确定电路实现了半加器的功能。但我们也可以发现输出SO出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。全加器二、实验任务要求用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。三、设计思路和过程◎设计思路全加器与半加器的区别在于全加器有一个低进位CI,从外部特性来看,它是一个三输入两输出的器件。◎设计过程全加器的真值表如下输入输出AIBICISOCO0000000110010100110110010101011100111111*其中AI为被加数,BI为加数,CI为相邻低位来的进位数。输出本位和为SO,向相邻高位进位数为CO。(2)根据真值表写出逻辑表达式:,根据逻辑表达式,可以知道只要在半加器的基础上再加入一个异或门、一个两输入与门和两输入或门即可实现全加器。◎实验原理图四、仿真波形图及分析根据仿真波形对比全加器真值表,可以确定电路实现了全加器的功能。(三)3线—8线译码器二、实验任务要求用3线—8线译码器(74LS138)和逻辑门设计实现函数,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。三、设计思路和过程◎设计思路74LS138是一个3线—8线的译码器,其输出为低电平有效,使能端G1为高电平有效,G2、G3为低电平有效,当其中一个为高电平,输出端全部为1。在中规模集成电路中译码器的几种型号里,74LS138使用最广泛。
要实现的函数用最小项表示如下:
F(C,B,A)=∑m(0,2,4,7)只要将相应输出用一个四输入与非门实现即可。◎注意(1)74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门(因为每次仅一个为低电平,其余皆为高电平);
(2)74LS138与前面不同的是,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。◎实验原理图四、仿真波形图及分析当且仅当ABC输入为000、010、100、111时,F=1;可知电路实现了函数。实验二实验名称VHDL组合逻辑电路设计(一)奇校验器实验任务要求用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个‘1’时,输出为‘1’,否则输出为‘0’,仿真实现验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。设计思路和过程输入元素:a3,a2,a1,a0输出元素:b输入输出a3a2a1a0b00000000110010100110010010101001100011111000110010101001011111000110111110111110四、VHDL程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYhy_checkIS PORT( a:INSTD_LOGIC_VECTOR(3downto0); b:OUTSTD_LOGIC );endhy_check;ARCHITECTUREhy_archOFhy_checkISBEGIN PROCESS(a) BEGIN CASEaIS WHEN"0000"=>b<='0'; WHEN"0001"=>b<='1'; WHEN"0010"=>b<='1'; WHEN"0011"=>b<='0'; WHEN"0100"=>b<='1'; WHEN"0101"=>b<='0'; WHEN"0110"=>b<='0'; WHEN"0111"=>b<='1'; WHEN"1000"=>b<='1'; WHEN"1001"=>b<='0'; WHEN"1010"=>b<='0'; WHEN"1011"=>b<='1'; WHEN"1100"=>b<='0'; WHEN"1101"=>b<='1'; WHEN"1110"=>b<='1'; WHEN"1111"=>b<='0'; ENDCASE; ENDPROCESS;END;仿真波形图及分析根据仿真波形对比奇校验码的真值表,可以确定电路实现了奇校验器的功能。数码管译码器二、实验任务要求用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,7段数码管显示输出信号。设计思路和过程输入元素:A3—A0输出元素:B6—B0,C5—C0输入输出A3A2A1A0B6B5B4B3B2B1B000001111110000101100000010110110100111111001010001100110101101101101101011111011111100001000111111110011111011*真值表由数码管显示的原理确定。四、VHDL程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYhy_encoder1ISPORT(A:INSTD_LOGIC_VECTOR(3DOWNTO0);B:OUTSTD_LOGIC_VECTOR(6DOWNTO0);C:OUTSTD_LOGIC_VECTOR(5DOWNTO0));ENDhy_encoder1;ARCHITECTUREencoder_archOFhy_encoder1ISBEGINPROCESS(A)BEGINC<="101111";CASEAISWHEN"0000"=>B<="1111110";--0WHEN"0001"=>B<="0110000";--1WHEN"0010"=>B<="1101101";--2WHEN"0011"=>B<="1111001";--3WHEN"0100"=>B<="0110011";--4WHEN"0101"=>B<="1011011";--5WHEN"0110"=>B<="1011111";--6WHEN"0111"=>B<="1110000";--7WHEN"1000"=>B<="1111111";--8WHEN"1001"=>B<="1111011";--9WHENOTHERS=>B<="ZZZZZZZ";ENDCASE;ENDPROCESS;ENDencoder_arch;五、仿真波形图及分析根据仿真波形对比数码管译码器的真值表,可以确定实现了数码管译码器的功能。(三)8421码到余三码二、实验任务要求用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。.三、设计思路和过程输入数据:A3—A0输出数据:B3—B0输入输出A3A2A1A0B3B2B1B000000011000101000010010100110110010001110101100001101001011110101000101110011100*余三码就是在8421码的基础上+3。VHDL程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYhy_trans1ISPORT(A:INSTD_LOGIC_VECTOR(3DOWNTO0);B:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDhy_trans1;ARCHITECTUREtrans_ex3OFhy_trans1ISBEGINPROCESS(A)BEGINCASEAISWHEN"0000"=>B<="0011";WHEN"0001"=>B<="0100";WHEN"0010"=>B<="0101";WHEN"0011"=>B<="0110";WHEN"0100"=>B<="0111";WHEN"0101"=>B<="1000";WHEN"0110"=>B<="1001";WHEN"0111"=>B<="1010";WHEN"1000"=>B<="1011";WHEN"1001"=>B<="1100";WHENOTHERS=>B<="ZZZZ";ENDCASE;ENDPROCESS;ENDtrans_ex3;仿真波形图及分析根据仿真波形对比真值表,可以确定电路实现了8421码到余三码的转换。实验三实验名称VHDL时序逻辑电路设计(一)分频器实验任务要求用VHDL语言设计实现一个分频输出信号占空比为50%的分频器。要求在QuartusII平台上设计程序并仿真验证设计。设计思路和过程◎设计思路确定分频系数N后,以为计数标准,一旦计数满,输出。◎设计过程选取N=20,以0-4计数,到4取反。输入元素:clk,clear输出元素:clk_outVHDL程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYhy_divISPORT(clk,clear:INSTD_LOGIC;clk_out:OUTSTD_LOGIC);ENDhy_div;ARCHITECTUREaOFhy_divISSIGNALtmp:INTEGERRANGE0TO9;SIGNALclktmp:STD_LOGIC;BEGINPROCESS(clear,clk)BEGINIFclear='0'THENtmp<=0;ELSIFclk'eventANDclk='1'THENIFtmp=9THENtmp<=0;clktmp<=NOTclktmp;ELSEtmp<=tmp+1;ENDIF;ENDIF;ENDPROCESS;clk_out<=clktmp;ENDa;仿真波形图及分析分析仿真波形,可以确定电路实现了20倍分频的功能。十进制计数器二、实验任务要求用VHDL语言设计实现一个带异步复位的8421码十进制计数器,仿真验证其功能。设计思路和过程◎设计思路满10异步复位。◎设计过程输入元素:clk,clear输出元素:q3,q2,q1,q0四、VHDL程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYhy_countISPORT(clk,clear:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDhy_count;ARCHITECTUREaOFhy_countISSIGNALcn:INTEGERRANGE0TO9;BEGINPROCESS(clk)BEGINIFclear='0'THENcn<=0;elsIF(clk'eventANDclk='1')THENIFcn=9THENcn<=0;ELSEcn<=cn+1;ENDIF;ENDIF;ENDPROCESS;q<=CONV_STD_LOGIC_VECTOR(cn,4);ENDa;五、仿真波形图及分析分析仿真波形,可以确定电路实现了十进制计数器的功能。(三)十进制计数器的数码管显示二、实验任务要求将2中的8421码十进制计数器下载到实验板测试。要求用按键设定输入信号,发光二极管显示输入信号。三、设计思路和过程◎设计思路此系统中应包括分频器、十进制计数器、数码管译码器。◎设计过程输入元素:ain,bin,cin输出元素:cout(0-6),cat(0-5)四、VHDL程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYhy_unionISPORT(ain:INSTD_LOGIC;bin:INSTD_LOGIC;cin:INSTD_LOGIC;cout:OUTSTD_LOGIC_VECTOR(6downto0);cat:OUTSTD_LOGIC_VECTOR(5downto0));endhy_union;ARCHITECTUREzonghe_archOFhy_unionISCOMPONENTdiv50m——分频器PORT(clk_in:instd_logic;clk_out:outstd_logic);ENDCOMPONENT;COMPONENThy_count——计数器PORT(clk,clear:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(3downto0));ENDCOMPONENT;COMPONENTyima——数码管译码器PORT(a:INSTD_LOGIC_VECTOR(3downto0);b:OUTSTD_LOGIC_VECTOR(6downto0);c:OUTSTD_LOGIC_VECTOR(5downto0));endCOMPONENT;SIGNALd,e:STD_LOGIC;SIGNALf:STD_LOGIC_VECTOR(3downto0);BEGINu1:div50mPORTMAP(clk_in=>ain,clk_out=>d);u2:hy_countPORTMAP(clk=>d,clear=>cin,q=>f);u3:yimaPORTMAP(a=>f,b=>cout,c=>cat);ENDzonghe_arch;实验四实验名称数码管扫描显示控制器设计与实现实验任务要求用VHDL语言设计并实现六个数码管串行扫描电路,要求同时显示0、1、2、3、4、5这六个不同的数字图形到六个数码管上,仿真验证其功能,并下载到实验板测试。设计思路和过程◎设计思路多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环依次点亮多个数码管,利用人眼的视觉暂留现象,只要扫描的频率大于50Hz,将看不到闪烁现象。当闪烁显示的发光二极管闪烁频率较高时,我们将观察到持续点亮的现象。同理,当多个数码管依次显示,当切换速度足够快时,我们将观察到所有数码管都是同时在显示。一个数码管要稳定显示要求显示频率大于50Hz,那么六个数码管则需要50*6=300Hz以上才能看到持续稳定点亮的现象。◎
设计过程数据输入:clk,clear数据输出:B(0-6),C(0-5)VHDL程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYHYISPORT(clk,clear:INSTD_LOGIC;B:OUTSTD_LOGIC_VECTOR(6DOWNTO0);C:OUTSTD_LOGIC_VECTOR(5DOWNTO0));ENDHY;ARCHITECTUREbehaveOFHYISSIGNALtmp:INTEGERRANGE0TO5;SIGNALcount:STD_LOGIC_VECTOR(5DOWNTO0);——count决定哪个数码管有示数SIGNALf_temp:STD_LOGIC_VECTOR(6DOWNTO0);BEGINp1:PROCESS(clk)——排次序BEGINIFclk'EVENTANDclk='1'THENIFtmp=5THENtmp<=0;ELSEtmp<=tmp+1;ENDIF;ENDIF;ENDPROCESSp1;p2:PROCESS(tmp)——数码管显示数BEGINIF(clear='0')THENcount<="111111";CASEtmpIS——依次逐个输出0-5WHEN0=>count<="011111";f_temp<="1111110";--0WHEN1=>count<="101111";f_temp<="0110000";--1WHEN2=>count<="110111";f_temp<="1101101";--2WHEN3=>count<="11
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装潢美术设计师操作知识竞赛考核试卷含答案
- 硫漂工安全宣教知识考核试卷含答案
- 2025年独立运行村用风力发电机组项目发展计划
- 2025年石油钻采机械项目发展计划
- 2025年金属冶炼加工项目发展计划
- 2025年光伏发电用控制器项目发展计划
- 2025年电子装联专用设备合作协议书
- 2026年液相色谱-质谱联用仪(LC-MS)项目建议书
- 2025年江苏省南通市中考化学真题卷含答案解析
- 乔木栽植施工工艺
- 感染性心内膜炎护理查房
- 导管相关皮肤损伤患者的护理 2
- 审计数据管理办法
- 2025国开《中国古代文学(下)》形考任务1234答案
- 研发公司安全管理制度
- 儿童口腔诊疗行为管理学
- 瓷砖样品发放管理制度
- 北京市2025学年高二(上)第一次普通高中学业水平合格性考试物理试题(原卷版)
- 短文鲁迅阅读题目及答案
- 肺部感染中医护理
- 临床研究质量控制措施与方案
评论
0/150
提交评论