杨熙丞201203870124数字电路报告.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
杨熙丞201203870124数字电路报告

数字电路与数字逻辑大型试验报告 姓名 杨熙丞 学号 201203870124 指导教师 周晓 专业班级 电气信息类1201 学 院 信息学院 提交日期 2014年7月9日 一. 试验内容 数字乘法器的设计 2. 彩灯循环显示控制电路实验 3. 四位二进制加法器试验 4. 水位报警器试验 二. 4位数字乘法器设计 设计题目 4位数字乘法器设计 2. 方案设计及原理 图1.工作时序图 乘法器的算法可以用算法流程图来描述。当START信号为高电平时,启动乘法运算。在运算过程中,共进行4次累加和移位操作。当i=4时,表示运算结束,END信号置为高电平。 图2.原理框图 在明确乘法器的算法之后,便可将电路划分成数据处理单元和控制单元。数据处理单元实现算法流程图规定的寄存、移位、加法运算等各项运算及操作。控制单元接收来自数据处理单元的状态信号并向其发出控制信号。 REGA和REGB为4位寄存器,分别用于存放被乘数A、乘数B。REGS为一5位寄存器,用于存放加法器输出的结果(考虑进位时为5位)。在运算过程中,寄存器REGS和REGB合起来用于存放部分积P,因此,REGS和REGB还应具有右移功能,以实现部分积的右移。寄存器REGS的移位输出送寄存器REGB,寄存器REGB的移位输出信号Bi送至控制器,以决定部分积是与被乘数相加还是与零相加。并行加法器ADDER用于实现4位二进制加法运算。计数器CNT用于控制累加和移位的循环次数。当计数值等于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的下降沿触发。其目的有二:一是使控制器无需产生数据处理单元的时钟信号,降低了控制器复杂程度;二是为了避免时钟偏移对电路的不良影响。 3. 顶层原理图的设计 图3.顶层原理图 4. 底层模块设计 REGA: library IEEE; use IEEE.std_logic_1164.all; entity REGA is port(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 is begin process(CP,LD,D) begin if(CPevent and CP=1)then if LD=1 then Q=D; end if; end if; end process; end; REGB library IEEE; use IEEE.std_logic_1164.all; entity REGB is port(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; architecture one of REGB is begin process(CP,D,S) begin if(CPevent and CP=1)then case S is when 00=NULL; when 01=Q=DIRQ(3 downto 1); when 11=Q=D; when others=NULL; end case; end if; end process; end; REGC library IEEE; use IEEE.std_

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档