杨熙丞201203870124数字电路报告_第1页
杨熙丞201203870124数字电路报告_第2页
杨熙丞201203870124数字电路报告_第3页
杨熙丞201203870124数字电路报告_第4页
杨熙丞201203870124数字电路报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、数字电路与数字逻辑大型试验报告 姓名 杨熙丞 学号 201203870124 指导教师 周晓 专业班级 电气信息类1201 学 院 信息学院 提交日期 2014年7月9日 一. 试验内容1. 数字乘法器的设计2. 彩灯循环显示控制电路实验3. 四位二进制加法器试验4. 水位报警器试验二. 4位数字乘法器设计1. 设计题目4位数字乘法器设计2. 方案设计及原理 图1.工作时序图 乘法器的算法可以用算法流程图来描述。当START信号为高电平时,启动乘法运算。在运算过程中,共进行4次累加和移位操作。当i=4时,表示运算结束,END信号置为高电平。 图2.原理框图在明确乘法器的算法之后,便可将电路划分

2、成数据处理单元和控制单元。数据处理单元实现算法流程图规定的寄存、移位、加法运算等各项运算及操作。控制单元接收来自数据处理单元的状态信号并向其发出控制信号。 REGA和REGB为4位寄存器,分别用于存放被乘数A、乘数B。REGS为一5位寄存器,用于存放加法器输出的结果(考虑进位时为5位)。在运算过程中,寄存器REGS和REGB合起来用于存放部分积P,因此,REGS和REGB还应具有右移功能,以实现部分积的右移。寄存器REGS的移位输出送寄存器REGB,寄存器REGB的移位输出信号Bi送至控制器,以决定部分积是与被乘数相加还是与零相加。并行加法器ADDER用于实现4位二进制加法运算。计数器CNT用

3、于控制累加和移位的循环次数。当计数值等于4时,计数器的输出信号i4输出高电平。控制器MULCON的功能是接收来自寄存器REGB的移位输出信号Bi和计数器输出信号i4,发出CA、CB0、CB1、CS0、CS1、CLR、CC等控制信号。其中,CA为寄存器REGA的控制信号,用于选择置数或保持功能;CS0、CS1为寄存器REGS的控制信号,用于选择置数、右移和保持等功能;CB0、CB1为寄存器REGB的控制信号,用于选择置数、右移和保持等功能;CLR为寄存器REGS和计数器CNT的异步清零信号;CC为计数器CNT计数使能信号。乘法器的控制单元采用CP脉冲上升沿触发,而数据处理单元采用CP的下降沿触发

4、。其目的有二:一是使控制器无需产生数据处理单元的时钟信号,降低了控制器复杂程度;二是为了避免时钟偏移对电路的不良影响。3. 顶层原理图的设计 图3.顶层原理图4. 底层模块设计REGA:library IEEE;use IEEE.std_logic_1164.all;entity REGA isport(CP,LD:in std_logic;D:in std_logic_vector(3 downto 0);Q:out std_logic_vector(3 downto 0);end REGA;architecture one of REGA isbeginprocess(CP,LD,D)be

5、ginif(CP'event and CP='1')thenif LD='1' thenQ<=D;end if;end if;end process;end;REGBlibrary IEEE;use IEEE.std_logic_1164.all;entity REGB isport(CP,DIR:in std_logic;S:in std_logic_vector(1 downto 0);D:in std_logic_vector(3 downto 0);Q:buffer std_logic_vector(3 downto 0);end REGB

6、;architecture one of REGB isbeginprocess(CP,D,S)beginif(CP'event and CP='1')thencase S is when "00"=>NULL; when "01"=>Q<=DIR&Q(3 downto 1);when "11"=>Q<=D;when others=>NULL;end case;end if;end process;end;REGClibrary IEEE;use IEEE.std_l

7、ogic_1164.all;entity REGC isport(CP,RD,DIR:in std_logic;S:in std_logic_vector(1 downto 0);D:in std_logic_vector(4 downto 0);Q:buffer std_logic_vector(4 downto 0);end REGC;architecture one of REGC isbeginprocess(CP,D,S,RD)beginif(RD='1')then Q<=(others=>'0');elsif (CP'event

8、and CP='1')thencase S is when "00"=>NULL; when "01"=>Q<=DIR&Q(4 downto 1);when "11"=>Q<=D;when others=>NULL;end case;end if;end process;end;CNTlibrary IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;entity CNT isport(CP,RD,

9、ET:in std_logic;CO: out std_logic);end CNT;architecture one of CNT issignal Q:std_logic_vector(2 downto 0);beginprocess(CP,RD,ET)beginif(RD='1')thenQ<="000"elsif(CP'event and CP='1')thenif ET='1' thenif (Q=4)thenQ<="000"elseQ<=Q+1;end if;end i

10、f;end if;end process;process(Q)beginif(Q=4)thenCO<='1'elseCO<='0'end if;end process;end;MULCONlibrary IEEE;use IEEE.std_logic_1164.all;entity MULCON isport(START,I4,BI,CP:in std_logic;DONE,RD,CA,CB1,CB0,CC1,CC0,ET:out std_logic);end MULCON;architecture one of MULCON issignal cu

11、rrent_state,next_state:bit_vector(1 downto 0);constant s0:bit_vector(1 downto 0):="00"constant s1:bit_vector(1 downto 0):="01"constant s2:bit_vector(1 downto 0):="11"constant s3:bit_vector(1 downto 0):="10"beginCOM:process(current_state,START,BI,I4)beginDONE&l

12、t;='0'RD<='0'CA<='0'CB1<='0'CB0<='0'CC1<='0'CC0<='0'ET<='0'case current_state iswhen S0=>DONE<='1'if(start='1')then next_state<=S1;else next_state<=S0;end if;when S1=>RD<='1'

13、;CA<='1'CB1<='1'CB0<='1'next_state<=S2;when S2=>if(BI='1')then CC1<='1'CC0<='1'ET<='1'else ET<='1'end if;next_state<=S3;when S3=>CB0<='1'CC0<='1'if(I4='1')then next_state<

14、;=S0;else next_state<=S2;end if;end case;end process COM;REG:process(CP)beginif CP='1'and CP'event thencurrent_state<=next_state;end if;end process REG;end;ADD4Blibrary IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;entity ADD4B isport(A:in std_logic_vector(3 down

15、to 0);B:in std_logic_vector(3 downto 0);C:out std_logic_vector(3 downto 0);COUT :out std_logic);end ;architecture one of ADD4B issignal CRLT:std_logic_vector(4 downto 0);signal AA,BB:std_logic_vector(4 downto 0);beginAA<='0'&A;BB<='0'&B;CRLT<=AA+BB;C<=CRLT(3 downt

16、o 0);COUT <=CRLT(4);end;5. 仿真结果 图4.仿真结果当A的四位输入信号为1111,B的四位输入信号为0000时,P的8位输出为00000000,满足结果要求。6 引脚锁定和下载测试 表一 引脚锁定:SW0A0PIN_N25SW1A1PIN_N26SW2A2PIN_P25SW3A3PIN_AE14SW4B0PIN_AF14SW5B1PIN_AD13SW6B2PIN_AC13SW7B3PIN_C13KEY0STARTPIN_G26CLKINCPPIN_G25LEDG8ENDPIN_Y12LEDG7P7PIN_Y18LEDG6P6PIN_AA20LEDG5P5PIN_

17、U17LEDG4P4PIN_U18LEDG3P3PIN_V18LEDG2P2PIN_W19LEDG1P1PIN_AF22LEDG0P0PIN_AE22下载测试:已通过老师审核。三. 自选设计题1. 设计题目彩灯循环显示控制电路实验2. 方案设计及原理主要芯片由74198构成,74198是一种双向8位移位寄存器。74198功能表:清零模式控制时钟串行输入并行输入输出功能描述S1S0CLOCKDSLDSRABCDQA QB QC QD.QH0×××××××××0 0 0 0.0清零1××0

18、××××××QA0 QB0 QC0 QD0.QH0保持111××abcda b c d.h并入101×0××××0 QA0 QB0 QC0.QG0右移0101×1××××1 QA0 QB0 QC0.QG0右移11100×××××QB0 QC0 QD0.QH0 0左移01101×××××QB0 QC0 QD0.QH0 1

19、左移1100×××××××QA0 QB0 QC0 QD0.QH0保持 此电路设计了5个输入端,GAO输入端与A,B,E,F相连。DI输入端与C,D,G,H相连。S0,S1控制左移右移。Cp控制时钟脉冲。8个输出端显示结果。这样可以做到二亮二灭右移或左移。当S0=0,S1=1时彩灯左移。当S0=1,S1=0时,彩灯右移。(此时GAO为高电平,DI为低电平)当GAO和DI为高电平时,彩灯全亮。当GAO和DI为低电平时,彩灯全灭。3 顶层原理图设计 图5 顶层原理图4.仿真结果 此时为全亮。 图6 仿真结果此时为全灭。5.引脚锁定

20、与下载测试 表2 引脚锁定:CLKINCPPIN_G25SW0A0PIN_N25LEDG7P7PIN_Y18LEDG6P6PIN_AA20LEDG5P5PIN_U17LEDG4P4PIN_U18LEDG3P3PIN_V18LEDG2P2PIN_W19LEDG1P1PIN_AF22LEDG0P0PIN_AE22SW1A1PIN_N26下载测试已通过老师审核。四.自选设计题21.设计题目四位二进制加法器试验2.方案设计及原理试验用到了74283元件。其中A3A0和B3B0是被加数,CIN是进位标志。S3S0显示结果,COUT是输出进位标志。电路将两个四位二进制被加数从电平开关SW7SW0输入,进位

21、输入通过按键输入。和及进位输出直接驱动发光二极管。                 3顶层原理图设计 图7 顶层原理图4仿真结果 图8 仿真结果当A为0001,B为0000,进位输入为1时,结果为0010,满足要求。5引脚锁定与下载测试 表3引脚锁定:SW0A0PIN_N25SW1A1PIN_N26SW2A2PIN_P25SW3A3PIN_AE14SW4B0PIN_AF14SW5B1PIN_AD13SW6B2PIN_AC13SW7B3PIN_C13KEY0CINPIN_G26LEDG4COUTPIN_U18LEDG3S3PIN_V18LEDG2S2PIN_W19LEDG1S1PIN_AF22LEDG0S0PIN_AE22试验结果已通过验收。五. 自选设计题31. 设计题目水位报警器2. 方案设计及原理设计一个水位报警控制器,设水位高度用四位二进制数A3A2A1A0提供。当水位上升到7米时,白指示灯w开始亮;当水位上升到9米时,黄指示灯y开始亮:当水位上升到11米时,红指示灯r开始亮,其它灯灭;水位不可能上升到14米。试用或非

温馨提示

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

评论

0/150

提交评论