四川大学数电课程设计(四位二进制无符号数乘法器 ).
4位乘法器
一、概述利用四位二进制寄存器、全加器以及D触发器等元器件,实现四位二进制乘法器的控制部分和乘法的实现部分。
成法是加法的简便运算乘法运算只能通过加法运算以及移位运算来实现。
在控制端用四个触发器产生四个控制信号来控制实现的加法移位功能,实现端在控制端信号作用下依次执行置零、加法、移位和循环操作。
二、方案说明设计一个4位二进制乘法器,可以存储其乘积。
电路原理框图如图1所示。
乘法器可以利用家发起和寄存器实现。
图1 乘法器原理框图寄存器B存放被乘数,寄存器Q存放乘数,两个乘积长度可能是原来的2倍,故计算完成后将累加和高位放入寄存器A,而Q放寄存器的低位,P 记录乘数的位数,每形成一个部分P加1,当P=4时,乘法结束,两数之积放在AQ寄存器中。
控制端产生四个控制信号分别为T0、T1、T2、T3。
在初态T0时,被乘数和乘数已分别存于寄存器B和Q中,等待启动信号S的到来,当S=1时控制器进入状态T1,在此状态下A、E、P清零,准备乘法操作。
从状态T2开始,控制器进入累计部分积的循环操作过程。
首先检验乘数的最低有效位Q1。
如Q1=1,A和B相加结果存于A和E之中;如果Q1=0,不做加法运算。
无论Q1为何值,都要将计数器P加1。
在状态T3,合成寄存器EAQ右移一位得到累计的部分积,时检测P之值,如果P不等于4,状态返回T2,继续累计部分积的过程。
如果P=4,停止循环,系统返回初始状态T0。
三、电路设计1、控制器设计根据图2所示的ASM图表,可以设计二进制乘法器的控制器。
图2 二进制乘法器ASM图表四个D触发器的驱动方程为:D0=T0S’+T3Z=((T0S’)’·(T3Z)’)’D1=T0S=((T0S)’)’D2=T1+T3Z’=(T1’·(T3Z’)’)’D3=T2控制器仿真电路如图2所示。
控制器中S为启动信号,高电平有效,系统开始工作时应使T0=1,T1=T2=T3=0,故图中设置了Reset信号(负脉冲)图2 二进制乘法器的控制逻辑图2. 二进制乘法器数据处理器(1) A寄存器A寄存器具有并入、移位、同步清0和保持功能。
数字电路课程设计之乘法器精选全文完整版
基于Verilog 的乘法器设计一、设计目标使用Verilog 语言实现4bit*4bit 乘法器设计,并使用Quartes 编写程序,使用modelsin 进行仿真验证设计二、基本原理2.1半加器半加器是为两输入两输出的加法电路,输入无进位,真值表如下图所示,输入X,Y,输出C,SX Y C S 0 0 0 0 0 1 0 1 1 0 0 1 111最简积之和式为 S=X`Y+XY`=X ○+Y;C=XY. 电路图为:2.2全加器全加器是为三输入两输出,输入存在进位,真值表如下图所示,输入X,Y,Z,输出C,SX Y Z C S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 11111化简最简积之和式为:S=X`Y`Z+X`YZ`+XY`Z`+XYZ; C=XY+XZ+YZ; 通过使用半加器组成全加器进行化简为:S=Z(X`Y`+XY)+Z`(X`Y+XY`)=Z(X ○+Y)`+Z`(X ○+Y)=X ○+Y ○+Z123YX C123123Y X`X Y`123S123C123X YSguan tian liangC 的卡诺图如下图X YZ 00 01 11 10 0 0 0 1 0 1111按两两结合 C=XY+YZ+XZ 换一种结合方式 C= XY+XY`Z+X`YZ=Z(XY`+X`Y)+XY=Z(X ○+Y)+XY 电路图如下所示(使用两个半加器与一个或门)123123X Y123123SZ123C多位二进制加法实现 2.2.1 行波进位加法器B2A3B3C3C4C2C1C0S0S1S2S3FA FALL_ADD A1B2Cout 3Cin4S5FA FALL_ADD A1B2Cout 3Cin4S5FAFALL_ADDA1B2Cout 3Cin4S5FAFALL_ADD A1B 2Cout 3Cin4S5A0B0A1B1A2行波进位加法器优点在于结构逻辑简单,缺点速度很慢,在最坏情况下,进位必须从最低有效位传到最高有效加法器,假设同时给出所有加数位,则总的最长延迟为:CinSCinCout ABCout ADD t t n t t +⨯−+=)2(ABCoutt 为最低有效级上从A 或B 到Cout 的延迟,CinCoutt 为中间级上Cin 与Cout 的延迟,CinSt 为最高有效位上从Cin 到S 的延迟。
计算机组成原理阵列乘法器课程设计报告
.课程设计.教学院计算机学院课程名称计算机组成原理题目4位乘法整列设计专业计算机科学与技术班级2014级计本非师班姓名唐健峰同组人员黄亚军指导教师2016 年10 月 5 日1 课程设计概述1.1 课设目的计算机组成原理是计算机专业的核心专业基础课。
课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。
同时也巩固了我们对课本知识的掌握,加深了对知识的理解。
在设计中我们发现问题,分析问题,到最终的解决问题。
凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。
1.2 设计任务设计一个4位的二进制乘法器:输入信号:4位被乘数A(A1,A2,A3,A4), 4位乘数B(B1,B2,B3,B4),输出信号:8位乘积q(q1,q2,q3,q4,q5,q6,q7,q8).1.3 设计要求根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统。
(1)制定设计方案:我们小组做的是4位阵列乘法器,4位阵列乘法器主要由求补器和阵列全加器组成。
(2)客观要求要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是要思维灵活遇到问题能找到合理的解决方案。
小组成员要积极配合共同达到目的。
2 实验原理与环境2.1 1.实验原理计算机组成原理,数字逻辑,maxplus2是现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
用乘数的每一位去乘被乘数,然后将每一位权值直接去乘被乘数得到部分积,并按位列为一行每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值,将各次部分积求和得到最终的对应数位的权值。
四位二进制乘法器课程设计报告
外,通过更换库再重新综合很容易移植为ASIC设 计。 (三)独立性 VHDL的硬件描述与具体的工艺技术和硬件结构无 关。设计者可以不懂硬件的结构,也不必管最终设 计实现的目标器件是什么,而进行独立的设计。程 序设计的硬件目标器件有广阔的选择范围,可以是 各系列的CPLD、FPGA及各种门阵列器件。 (四)可操作性 由于VHDL具有类属描述语句和子程序调用等功能, 对于已完成的设计,在不改变源程序的条件下,只 需改变端口类属参量或函数,就能轻易地改变设计 的规模和结构。 (五)灵活性 VHDL最初是作为一种仿真标准格式出现的,有着丰 富的仿真语句和库函数。使其在任何大系统的设计 中,随时可对设计进行仿真模拟。所以,即使在远 离门级的高层次(即使设计尚未完成时),设计者 就能够对整个工程设计的结构和功能的可行性进行 查验,并做出决策。
有了更深了解,其实当初想到设计这个课题。 1.2 设计要求 1)构造一个4位二进制乘法器; 2)受按键控制由4bit输入端口先后输入四位乘数 和被乘数(乘数,被乘数均由HDB3码表示); 3)用两个七段数码管显示积,以十进制显示; 2硬件描述语言——VHDL 2.1 VHDL简介 VHDL语言是一种用于电路设计的高级语言。它在 80年代的后期出现。最初是由美国国防部开发出来 供美军用来提高设计的可靠性和缩减开发周期的一 种使用范围较小的设计语言 。但是,由于它在一 定程度上满足了当时的设计需求,于是他在1987年 成为A I/IEEE的标准(IEEE STD 1076-1987)。 1993年更进一步修订,变得更加完备,成为A I/IEEE的A I/IEEE STD 1076-1993标准。目前,大 多数的CAD厂商出品的EDA软件都兼容了这种标准。 VHDL的英文全写是:VHSIC(Very High eed Integrated Circuit)Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描 述语言。因此它的应用主要是应用在数字电路的设 计中。目前,它在中国的应用多数是用在 FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄 厚的单位,它也被用来设计ASIC。 VHDL主要用于
四位二进制乘法器的设计与实现
四位二进制乘法器的设计与实现1.实验目的A A A A设计一个乘法器,实现两个四位二进制数的乘法。
两个二进制数分别是被乘数3210B B B B。
被乘数和乘数这两个二进制数分别由高低电平给出。
乘法运算的结果即乘和乘数3210积由电平指示灯显示的二进制数。
做到保持乘积、输出乘积,即认为目的实现,结束运算。
2.总体设计方案或技术路线总体思路:将乘法运算分解为加法运算和移位运算。
根据Bi的值决定部分积P与A相加或与0相加,之后移位,经过四次以上运算后得到最终的乘积。
对于4位乘法器而言,设A=1011,B=1101,则运算过程可由下图所示。
从乘法运算过程可知,乘法运算可分解为移位和相加两种子运算,而且是多次相加运算,所以是一个累加的过程。
实现这一累加过程的方法是,把每次相加的结果用部分积P表示,若B中某一位Bi=1,把部分积P与A相加后右移1位;若B中某一位Bi= 0,则部分积P与0相加后右移1位(相当于只移位不累加)。
通过4次累加和移位,最后得到的部分积P就是A与B的乘积。
为了便于理解乘法器的算法,将乘法运算过程中部分积P的变化情况用图3表示出来。
存放部分积的是一个9位的寄存器,其最高位用于存放在做加法运算时的进位输出。
先把寄存器内容清零,再经过4次的加法和移位操作就可得到积。
注意,每次做加法运算时,被乘数A与部分积的P7~P4位相加。
设A=1011,B=1101则结果如下图所示技术路线:实验中,将乘法器电路分为三个部分分别设计,分别是时钟电路,乘法控制电路,乘法运算电路。
(1) 时钟电路:由一个D 触发器和一个非门组成,D 触发器为二分频接法。
时钟电路共产生CP ̅̅̅̅, CLK,CLK ̅̅̅̅̅̅三个不同于原时钟CP 的时钟,其中CP̅̅̅̅是寄存器1,2的时钟,CLK 是寄存器3,4的时钟,CLK̅̅̅̅̅̅是计数器,控制端D 触发器的时钟。
(2) 乘法控制电路:由一个D 触发器,一个计数器和两个与非门组成。
数电课程设计论文四位二进制加计数器(缺0100,0101,0110,1000,1001)
成绩评定表课程设计任务书摘要本文描述了四位二进制同步加法计数器的功能,并且缺省了状态0100,0101,0110,1000,1001。
计数器初始状态从0000开始,每来一个CP脉冲计数器就加1,当增加到0011时,直接跳到状态0111;再来一个CP脉冲,计数器直接跳到状态1010;当计数器加到1111时,给高位进位的同时计数器归零。
本课程设计分别通过QuartusⅡ和multisim软件设计实现此计时器。
在QuartusⅡ软件中先用VHDL语言描述此计数器,编译完成后,进行波形仿真,最后下载到试验箱中。
在multisim软件中首先设计实现此计数器功能的电路图,然后运行仿真电路图,通过LED灯亮灭的顺序和逻辑分析仪的波形变化情况验证电路图的正确性。
关键词:四位二进制加计数器;QuartusⅡ软件;multisim软件;目录1课程设计目的 (1)2课程设计实现框图 (1)3实现过程 (1)3.1QuartusⅡ实现过程(VHDL) (1)3.1.1建立工程 (2)3.1.2VHDL源程序 (5)3.1.3编译和仿真过程 (6)3.1.4引脚锁定与下载 (9)3.1.5仿真结果分析 (10)3.2Multisim实现过程(电路设计) (11)3.2.1设计原理 (11)3.2.2基于Multisim的设计电路图 (15)3.2.3逻辑分析仪显示的波形 (16)3.2.4仿真结果分析 (16)4设计体会 (17)5参考文献 (18)1课程设计目的1、了解数字系统设计方法。
2、熟悉VHDL语言及其仿真环境、下载方法。
3、熟悉Multisim环境。
4.设计实现四位二进制加计数器(缺0100,0101,0110,1000,1001)。
2课程设计实现框图图1所示是四位二进制同步加法计数器的结构示意框图。
CP是输入计数脉冲,所谓计数,就是计CP脉冲个数,每来一个CP脉冲,计数器就加一个1,随着输入计数脉冲个数的增加,计数器中的数值也增大,当计数器计满时再来CP脉冲,计数器归零的同时给高位进位,即要送给高位进位信号,图中的输出信号C就是要送给高位的进位信号。
四位原码乘法器
1.课程设计的内容和要求内容:设计四位原码乘法器电路。
要求:1.有关资料,设计乘法器电路;2.画出乘法器逻辑图;3.在实验箱上完成乘法器电路的组装,调试,核对记录,测试有关数据,通过老师当场验收;4.完成课程设计报告。
1.课程设计原理运用存储器的存储功能实现数字的存储。
令电路的初始状态为000,000,000000。
以二进制的形式输入数字,计算方式是以十进制数字乘法。
输入的数字为三位数字,输出的是六位数字。
先存储输入的乘数和乘积,然后再将乘积的导线端连到输出段,此时之前输入的乘积就可以在输出端显示。
此时序电路的真值表为:1.课程设计思路本次课程设计的题目为四位原码乘法器,利用真值表输入乘数时,需要存放数字,于是我查阅了一些资料,用存储器可以实现这一电路,所以本实验中用到的是INTEL 2114芯片。
具体实现过程如下图:aabbF32F 11.课程设计所需的器材1.2114是一个容量为1K4位的静态RAM芯片,常用于寄存器。
其具体的引脚图为:此芯片的电路图为:2.数字电路实验箱3.导线若干1.课程设计实现本次课程设计的题目是四位原码乘法器电路。
此部分只用到了2块INTEL2114芯片,具体连接如下:1、先将这些芯片按在电路板上(注意不要插反,否者容易烧毁芯片)。
2、将两片芯片的A6和GND端,A7,A8,A9接地。
3、Vcc端接电压5V,cs接存储端,WE端接控制端。
4、两块芯片的A5,A4,A3组成一个乘数,A0,A1,A2组成另一个乘数。
其中一块芯片的I/O1,I/O2,I/O3,I/O4和另一块芯片的I/O1,I/O2组成要求的乘积。
乘数与乘积的显示方式均为二进制,但是计算方法是以十进制数的乘法法则计算。
1.调试步骤及方法在连接实验器件之前,要先检查如下实验器件:1、检查芯片引脚是否有损坏。
2、检查电路板是否好用。
连接实验器件时要注意:2严格按照电路图一步一步连接,以避免连接错误。
3导线要先连接电源测试是否导电。
4位数字乘法器设计
4位数字乘法器设计
设计一个4位数字乘法器需要考虑多个方面,包括硬件设计和
算法实现。
首先,在硬件设计方面,可以使用逻辑门、寄存器和加法器等
元件来实现。
可以将两个4位的输入数分别存储在两个寄存器中,
然后使用逻辑门和加法器来实现乘法运算。
具体来说,可以使用乘
法器的部分积计算方法,将被乘数的每一位与乘数的每一位相乘,
并将结果相加得到最终的乘积。
另外,还需要考虑溢出和进位的处理。
在乘法过程中,可能会
产生进位,需要确保算法能够正确处理进位。
同时,乘法的结果可
能会超出4位的表示范围,因此需要考虑如何处理溢出的情况。
在算法实现方面,可以采用乘法的基本原理,逐位相乘并累加
的方法来实现4位数字的乘法运算。
可以使用循环结构来逐位相乘
并累加,同时考虑进位和溢出的情况,确保算法的正确性和稳定性。
总的来说,设计一个4位数字乘法器需要综合考虑硬件设计和
算法实现两个方面,确保乘法器能够正确高效地进行4位数字的乘法运算。
数电— 4位并行乘法器的电路设计与仿真
# 155reset=0,a=15,b=14,y=162
# 170reset=0,a=15,b=14,y=178
# 185reset=0,a=15,b=14,y=210
# 200reset=0,a= 0,b= 0,y=210
# 225reset=0,a= 0,b= 0,y=156
reg a,b,ci;
wire s,co;
fulladder add0(s,co,a,b,ci);
initial
begin
a=1'b0;b=1'b0;ci=1'b1;
#15 a=1'b0;b=1'b0;ci=1'b0;
$monitor($time,"a=%d,b=%d,ci=%d,s=%d,co=%d",a,b,ci,s,co);
文档:分析文档、设计文档、测试文档、代码和总结。
设要有完整的组合逻辑电路设计步骤;
每一步骤完成要正确合理;
设计电路时分模块测试。
时间安排
分析设计阶段:周一至周二上午;
代码编写阶段:周二下午至周三;
代码测试优化阶段:周四;
仿真分析及总结:周五上午;
验收:周五下午。
验收标准
文档齐全(20分)。
注:无文档不可以进行下一步。
#15 a=1'b1;b=1'b1;ci=1'b1;
end
endmodule
//一位全加器加上最大延迟15ns,分析乘法器最大延时为90ns(六个全加器),
//实际测得乘法器延时75ns,即可输出正确结果。测试结果如下:
# 0reset=1,a= 1,b= 4,y= 0
用Verilog实现题示电路实现四位二进制无符号数乘法计算(a3a2a1a0Xb3b2b1b0)
(二) 设计电路
该运算可由如下电路实现:
运算电路
-6-
(三)程序编写
根据电路,编写如下程序: module yunsuan(A,B,D); input [4:1] A,B; output[2*4:1] D; reg [2*4:1] D; integer i; always @(*) begin D=0; for(i=1;i<=4;i=i+1) if(B[i]) D=D+(A<<(i-1)); end endmodule
-8-
得到如下实验结果:
经过测试, 程序能够顺利执行四位二进制数的乘法, 计算结果与实际值符合。
三.设计总结
我们采用了分工合作, 互补互助的方式完成了此次设计。我们每人先设计其 中一道题目,然后交换彼此的设计与仿真结果,进行检查改进,最终顺利完成了 设计任务。 通过本次课程设计,基本掌握了由要求设计电路、由电路编写 VERILOG 语 言、 调试程序并解决问题的方式方法,使我们对于硬件描述语言有了一个基本的 了解,加深了对数电理论知识及其运用的理解能力。 本次设计最大的收获应该是学会了如何在设计中发现问题并解决问题, 然后 是学会了 Multisim 软件的基本使用方法。
-7-
.D(D) ); initial begin // Initialize Inputs A = 0; B = 0; // Wait 100 ns for global reset to finish #100; // Add stimulus here A=4'b1011; B=4'b1100; #100; A=4'b1000; B=4'b1111; #100; A=4'b1010; B=4'b0101; #100; end endmodule
川大数电课程设计
川大数电课程设计一、教学目标本课程旨在通过学习数字电路的基本理论、基本知识和基本技能,使学生掌握数字电路的基本概念、基本原理和基本方法,培养学生运用数字电路知识分析和解决实际问题的能力。
具体的教学目标如下:1.知识目标:(1)掌握数字电路的基本概念、基本原理和基本方法。
(2)了解数字电路在电子技术和信息技术中的应用。
(3)熟悉数字电路的主要组成部分,如逻辑门、逻辑函数、逻辑电路、触发器、计数器等。
2.技能目标:(1)能够运用数字电路知识分析和解决实际问题。
(2)具备基本的数字电路实验操作能力,能够进行简单的数字电路设计。
3.情感态度价值观目标:(1)培养学生对数字电路的兴趣,激发学生学习数字电路的积极性。
(2)培养学生团队合作精神,提高学生沟通与协作能力。
二、教学内容本课程的教学内容主要包括数字电路的基本概念、基本原理和基本方法。
具体的教学内容如下:1.数字电路的基本概念:数字电路的定义、特点、分类和应用。
2.逻辑门:与门、或门、非门、异或门、同或门等基本逻辑门及其真值表和逻辑函数。
3.逻辑函数:逻辑函数的定义、性质、表达式和简化方法。
4.逻辑电路:逻辑电路的组成、分析和设计方法。
5.触发器:触发器的概念、类型和功能。
6.计数器:计数器的原理、结构和应用。
7.数字电路的设计:数字电路的设计方法、步骤和实例。
三、教学方法为了提高教学效果,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
具体的教学方法如下:1.讲授法:通过教师的讲解,使学生掌握数字电路的基本概念、基本原理和基本方法。
2.讨论法:引导学生针对数字电路的相关问题进行讨论,提高学生分析问题和解决问题的能力。
3.案例分析法:通过分析数字电路的实际案例,使学生更好地理解和掌握数字电路的知识。
4.实验法:让学生亲自动手进行数字电路实验,培养学生的实践操作能力和团队协作能力。
四、教学资源为了保证教学的顺利进行,本课程将充分利用校内外教学资源。
四位二进制计数器设计课程设计(论文)
课程设计系部:自动化系专业班级:11电子301班指导教师:裴玉玲二O一二年五月二十五课程设计任务书【摘要】随着多频彩显技术的不断发展,在日常生活中的应用越来越广泛,但到目前为止彩显显示器的概念还没有统一的说法,但对其认识却大都相同,顾名思义它应该是将一定的电子文件通过特定的传输设备显示到屏幕上再反射到人眼的一种显示工具。
从广义上讲,街头随处可见的大屏幕,电视机的荧光屏、手机、快译通等的显示屏都算是彩显显示器的范畴,但目前一般指与电脑主机相连的显示设备。
它的应用非常广泛,大到卫星监测、小至看VCD,可以说在现代社会里,它的身影无处不在,其结构一般为圆型底座加机身,随着彩显技术的不断发展,现在出现了一些其他形状的显示器,但应用不多。
作为一个经常接触电脑、电视、手机的人来说,显示器则必须是他要长期面对的,每个人都会有这种感觉,当长时间看一件物体时,眼睛就会感觉特疲劳,显示器也一样,由于它是通过一系列的电路设计从而产生影像,所以它必定会产生辐射,对人眼的伤害也就更大。
因为人的眼睛直接看着彩显显示器,伤害比较大。
为了减小这些伤害和彩显技术在这方面的不足,做到显示器视觉广、画质好、画面稳定、辐射小等。
故仍需在这一领域开展大量的工作,以使得彩显技术有更好的发展空间。
【关键词】计算机辅助设计层次图设计印制电路板设计目录............................................................................................................................................. - 6 - 【关键词】.......................................................................................................................... - 6 - 前言 ............................................................................................................................................. - 7 - 第一章:计算机辅助设计的特点及应用................................................................................... - 8- 1.1计算机辅助设计(CAD)的特点 ............................................................................ - 8 - 第二章:四位二进制计数器的基本工作原理........................................................................... -9 -2. 四位二进制计数器的基本工作原理简述.................................................................... - 9 -2.1.1 电源电路工作原理............................................................................................ - 9 -2.1.2 消磁控制电路.................................................................................................. - 10 -2.1.3 地磁校正(旋转)电路................................................................................... - 10-2.1.4 动态聚焦电路.................................................................................................. - 10 -2.1.5 东西校正、行幅控制电路.............................................................................. - 11 -2.1.6 线性调整与CS切换电路................................................................................ - 11-2.1.7 B+升压电路 (11)2.1.8 行扫描电路的工作原理.................................................................................. - 12 -2.1.9 自动亮度控制(ABL)电路.......................................................................... - 12 -2.1.10 G1电压电路................................................................................................... - 13 -2.1.11 视频放大电路................................................................................................ - 13 - 第三章四位二进制计数器的设计介绍................................................................................ - 14 -3.1元器件的性能介绍....................................................................................................... - 14-3.1.1半导体的导电特性........................................................................................... - 15 -3.1.2 二极管的特性................................................................................................... - 15-3.1.3 二极管的应用.................................................................................................. - 17 -3.1.4 晶体管............................................................................................................ - 17 -3.1.5集成电路........................................................................................................... - 20 -3.1.5电子电路中的反馈电路................................................................................... - 20 -3.1.7阻抗匹配的基本原理........................................................................................ - 21-3.2互补推挽功放电路...................................................................................................... - 21 -3.2.1简单互补推挽功放电路................................................................................... - 21 -3.2.2改进型互补推挽功放电路............................................................................... - 22 - 第四章多频彩显电路原理图设计........................................................................................ - 24 -4.1多频彩显电路原理图设计步骤:.............................................................................. - 25 -4.1.1 创建元件库的步骤......................................................................................... - 25-4.1.2 创建元件并进行设置.................................................................................... - 25 -4.2多频彩显电路原理图的绘制...................................................................................... - 26 - 第五章层次图的设计............................................................................................................ - 27 -5.1 层次图的运用............................................................................................................. - 27 -5.1.1层次电路图的结构分析................................................................................. - 29 -5.1.2 层次原理图设计方法...................................................................................... - 30 - 第六章多频彩显电路的PCB设计 ...................................................................................... - 33 -6.1 PCB设计步骤............................................................................................................. - 33 -6.2 PCB设计规则.............................................................................................................. - 34-6.2 .1生成各种PCB报表 .......................................................................................... - 34 -层次图........................................................................................................................ - 35 -PCB板设计图 ........................................................................................................... - 39 - 总结 ......................................................................................................................................... - 42 - 致谢 .......................................................................................................................................... -43 - 参考文献: .......................................................................................................................... - 44 -前言计算机辅助设计系统一般以工程数据库和元件库为支持,包括交互式图形设计、几何造型、工程分析与优化设计、人工智能与专家系统等功能。
数字设计原理与实践_课程设计_乘法器
数字设计原理与实践课程设计题目名称:学生姓名:学号:指导老师:1.设计题目乘法器电路设计:设计一个乘法器,能够完成两个4位二进制无符号数的乘法运算。
2.设计目标设计一个乘法器,使之能完成两个4位的二进制数的乘法运算。
3.设计思路4位二进制数的乘法,按照十进制的乘法规则,可进行相应的运算。
比如a1a2a3a4和b1b2b3b4运算过程见右图。
如图所示,乘开之后,就产生了许多的两个二进制数相乘,即两个二进制数相与的过程。
如果利用合适的加法器把这些二进制数相与的结果进行合适的累加,最后即可得到4位二进制数相乘的结果。
也就是说4位二进制数的乘法可以分解成许多相与项相加(积之和)的形式,最后实现题目的要求。
4.设计电路推导由题可知,两个4位二进制数相乘结果位为8位。
其中a1b1可直接输出作为积的(第八位)最低位。
然后是a2b1与a1b2的和作为积的第七位,并且向前进位。
接着a3b1、a2b2、a1b3相加,此时可以用加法器级联,以此类推,所有的相与项都能加起来。
在加法器方面,选择4位二进制加法器74ls283。
74LS283的引脚图和逻辑原理图见上,可知,74LS283是4位二进制全加器。
两个加数输入端分别为A0~A3,和B0~B3,和为C0~C3,S1为进位输入端,S3为进位输出端。
了解了各引脚之后,我们计划使用三个74LS283,其中a1b1直接输出,不需要接入加法器。
然后a1b2、a1b3、a1b4分别接入第一个加法器的A0~A2端,a2b1、a2b2、a2b3、a2b4分别接第一个加法器的B0~B3接口。
这样第一个接口的输出端:和的最低位C0 就是a1b2+a2b1,所以直接输出就是最后乘积的第七位(次低位)。
现在讨论下两片74LS283的级联。
SUM的最低位是作为积的一位直接输出,然后后几位依次与下一个74238的输入A1~A4相连,就完成了两个74283的级联。
这样做的原理已在前面的讨论中给出,这里不做赘述。
川大数电课程设计
川大数电课程设计一、课程目标知识目标:1. 理解数字电路基础知识,掌握常见逻辑门的功能及相互转换。
2. 学会分析和设计简单的数字电路,理解数字电路在川大数电课程中的应用。
3. 掌握二进制、十六进制等数值表示方法,并能在实际电路中运用。
技能目标:1. 培养学生运用逻辑门进行简单数字电路设计的能力,提高问题解决技巧。
2. 培养学生通过实验和仿真等方法验证数字电路功能的能力。
3. 提高学生运用所学知识,分析实际数字电路问题的能力。
情感态度价值观目标:1. 激发学生对数字电路学习的兴趣,培养主动探索、积极进取的学习态度。
2. 培养学生的团队合作意识,学会在小组合作中共同解决问题,增进相互沟通与理解。
3. 让学生认识到数字电路在现代科技中的重要作用,培养创新意识和实践能力。
本课程针对大学二年级学生的特点,结合数字电路课程性质,注重理论与实践相结合,旨在培养学生的实际操作能力和逻辑思维能力。
课程目标的设定旨在帮助学生掌握数字电路的基本知识,提高实际问题解决能力,并在此基础上培养积极的情感态度和价值观。
在教学过程中,将目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 数字逻辑基础:包括逻辑代数基本概念、逻辑门功能及符号表示,重点讲解与、或、非、异或等基本逻辑门。
教材章节:第一章 数字逻辑基础2. 数字电路分析与设计:介绍组合逻辑电路、时序逻辑电路的分析与设计方法,以二进制加法器、计数器为例进行讲解。
教材章节:第二章 组合逻辑电路;第三章 时序逻辑电路3. 数字电路仿真:运用Multisim等软件进行数字电路仿真实验,验证电路功能,提高学生动手能力。
教材章节:第四章 数字电路仿真4. 数字电路应用:介绍数字电路在实际应用中的案例,如计算机、通信等领域,激发学生学习兴趣。
教材章节:第五章 数字电路应用5. 实践环节:安排学生进行数字电路设计与制作,培养学生的实际操作能力和创新能力。
教材章节:第六章 数字电路实践教学内容依据课程目标进行选择和组织,确保科学性和系统性。
无符号乘法器(4-bit4-bit)
一.无符号乘法器(4-bit × 4-bit)---------------------------------------------------------Design unit:4-Bit*4-Bit multiple-- :--File name :unsigned_multi.vhd-- :--Description:Structual model of two input multipler.Input of type std_logic_vector -- :--Limitation :none-- :--System :VHDL'93-- :--Author :CaoGuangyuan,LinRongbiao-- :Department of Software and Conmunication-- :University of SUN YA T-SEN-- :GUANG ZHOU-- :********************----Revision :V ersion 1.0-------------------------------------------------------library IEEE;use IEEE.std_logic_1164.all;entity full_adder isport (A: in STD_LOGIC;B: in STD_LOGIC;C_in: in STD_LOGIC;S: out STD_LOGIC;C_out: out STD_LOGIC);end full_adder;architecture dataflow of full_adder isbeginS <= A xor B xor C_in; --全加器C_out <= (A and B) or (C_in and (A xor B));end dataflow;----------------------------library IEEE;use IEEE.std_logic_1164.all;entity unsigned_multi isport (X: in STD_LOGIC_VECTOR (3 downto 0);Y: in STD_LOGIC_VECTOR (3 downto 0);Z: out STD_LOGIC_VECTOR (7 downto 0));end unsigned_multi;architecture structual of unsigned_multi issignal r0: STD_LOGIC_VECTOR (3 downto 0);signal r1: STD_LOGIC_VECTOR (3 downto 0);signal r2: STD_LOGIC_VECTOR (3 downto 0);signal r3: STD_LOGIC_VECTOR (3 downto 0);signal ca_temp1: STD_LOGIC_VECTOR (2 downto 0);signal ca_temp2: STD_LOGIC_VECTOR (2 downto 0);signal ca_temp3: STD_LOGIC_VECTOR (3 downto 0);signal ca_temp : STD_LOGIC_VECTOR (7 downto 0);signal C0, C1, C2,C3 : STD_LOGIC;signal C4, C5, C6,C7 : STD_LOGIC;signal C8, C9, C10,C11 : STD_LOGIC;signal ZERO: STD_LOGIC;component full_adderport (A: in STD_LOGIC;B: in STD_LOGIC;C_in: in STD_LOGIC;S: out STD_LOGIC;C_out: out STD_LOGIC);end component;begin--全加器运算F0 : full_adder port map (A => r0(1), B => r1(0), C_in => ZERO, S => ca_temp(1), C_out => C0);F1 : full_adder port map (A => r0(2), B => r1(1), C_in => C0, S => ca_temp1(0), C_out => C1);F2 : full_adder port map (A => r0(3), B => r1(2), C_in => C1, S => ca_temp1(1), C_out => C2);F3 : full_adder port map (A => ZERO, B => r1(3), C_in => C2, S => ca_temp1(2), C_out => C3);F4 : full_adder port map (A => r2(0), B => ca_temp1(0), C_in => ZERO, S => ca_temp(2), C_out => C4);F5 : full_adder port map (A => r2(1), B => ca_temp1(1), C_in => C4, S =>ca_temp2(0), C_out => C5);F6 : full_adder port map (A => r2(2), B => ca_temp1(2), C_in => C5, S => ca_temp2(1), C_out => C6);F7 : full_adder port map (A => r2(3), B => C3, C_in => C6, S => ca_temp2(2), C_out => C7);F8 : full_adder port map (A => r3(0), B => ca_temp2(0), C_in => ZERO, S => ca_temp3(0), C_out => C8);F9 : full_adder port map (A => r3(1), B => ca_temp2(1), C_in => C8, S => ca_temp3(1), C_out => C9);F10: full_adder port map (A => r3(2), B => ca_temp2(2), C_in => C9, S => ca_temp3(2), C_out => C10);F11: full_adder port map (A => r3(3), B => C7, C_in => C10, S => ca_temp3(3), C_out => C11);r0(0) <= X (0) and Y (0);r0(1) <= X (1) and Y (0);r0(2) <= X (2) and Y (0);r0(3) <= X (3) and Y (0);r1(0) <= X (0) and Y (1);r1(1) <= X (1) and Y (1);r1(2) <= X (2) and Y (1);r1(3) <= X (3) and Y (1);r2(0) <= X (0) and Y (2);r2(1) <= X (1) and Y (2);r2(2) <= X (2) and Y (2);r2(3) <= X (3) and Y (2);r3(0) <= X (0) and Y (3);r3(1) <= X (1) and Y (3);r3(2) <= X (2) and Y (3);r3(3) <= X (3) and Y (3);ZERO <= '0';ca_temp(0) <= r0(0);ca_temp(6 downto 3) <= ca_temp3(3 downto 0);ca_temp(7) <= C11; --最后的进位Z <= ca_temp; --最终乘积end structual;二.有符号乘法器(4-bit × 4-bit)---------------------------------------------------------Design unit:4-Bit*4-Bit multiple-- :--File name :unsigned_multi.vhd-- :--Description:Structual model of two input multipler.Input of type std_logic_vector -- :--Limitation :none-- :--System :VHDL'93-- :--Author :CaoGuangyuan,LinRongbiao-- :Department of Software and Conmunication-- :University of SUN YA T-SEN-- :GUANG ZHOU-- :********************----Revision :V ersion 1.0-------------------------------------------------------library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;entity one_bit_adder isport (A: in STD_LOGIC;B: in STD_LOGIC;C_in: in STD_LOGIC;S: out STD_LOGIC;C_out: out STD_LOGIC);end one_bit_adder;architecture one_bit_adder of one_bit_adder isbeginS <= A xor B xor C_in; --全加器C_out <= (A and B) or (C_in and (A xor B));end one_bit_adder;-------------------------------------------library IEEE;use IEEE.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity multi isport (A: in STD_LOGIC_VECTOR (3 downto 0);B: in STD_LOGIC_VECTOR (3 downto 0);data_out: out STD_LOGIC_VECTOR (6 downto 0));end multi;architecture multi_arch of multi issignal X: STD_LOGIC_VECTOR (3 downto 0);signal Y: STD_LOGIC_VECTOR (3 downto 0);signal A_MULT_B0: STD_LOGIC_VECTOR (2 downto 0);signal A_MULT_B1: STD_LOGIC_VECTOR (2 downto 0);signal A_MULT_B2: STD_LOGIC_VECTOR (2 downto 0);signal S_TEMP1: STD_LOGIC_VECTOR (1 downto 0);signal S_TEMP2: STD_LOGIC_VECTOR (1 downto 0);signal C_TEMP : STD_LOGIC_VECTOR (6 downto 0);signal C0_out_B0, C1_out_B0, C2_out_B0 : STD_LOGIC;signal C0_out_B1, C1_out_B1, C2_out_B1 : STD_LOGIC;signal ZERO: STD_LOGIC;signal II : STD_LOGIC_VECTOR (3downto 0);component one_bit_adderport (A: in STD_LOGIC;B: in STD_LOGIC;C_in: in STD_LOGIC;S: out STD_LOGIC;C_out: out STD_LOGIC);end component;beginII<="0001";X<= A(3 downto 0)+II when A(3)='1' else A; --判断是否为负数,是的--话,转化为补码Y<= B(3 downto 0)+II when B(3)='1' else B; --判断是否为负数,是的 --话,转化为补码U_0_0 : one_bit_adder port map (A => A_MULT_B0(1), B => A_MULT_B1(0), C_in => ZERO, S => C_TEMP(1), C_out => C0_out_B0);U_0_1 : one_bit_adder port map (A => A_MULT_B0(2), B => A_MULT_B1(1), C_in => C0_out_B0, S => S_TEMP1(0), C_out => C1_out_B0);U_0_2 : one_bit_adder port map (A => ZERO, B => A_MULT_B1(2), C_in => C1_out_B0, S => S_TEMP1(1), C_out => C2_out_B0);U_1_0 : one_bit_adder port map (A => A_MULT_B2(0), B => S_TEMP1(0), C_in => ZERO, S => C_TEMP(2), C_out => C0_out_B1);U_1_1 : one_bit_adder port map (A => A_MULT_B2(1), B => S_TEMP1(1), C_in => C0_out_B1, S => S_TEMP2(0), C_out => C1_out_B1);U_1_2 : one_bit_adder port map (A => A_MULT_B2(2), B => C2_out_B0, C_in => C1_out_B1, S => S_TEMP2(1), C_out => C2_out_B1);A_MULT_B0(0) <= X (0) and Y (0);A_MULT_B0(1) <= X (1) and Y (0);A_MULT_B0(2) <= X (2) and Y (0);A_MULT_B1(0) <= X (0) and Y (1);A_MULT_B1(1) <= X (1) and Y (1);A_MULT_B1(2) <= X (2) and Y (1);A_MULT_B2(0) <= X (0) and Y (2);A_MULT_B2(1) <= X (1) and Y (2);A_MULT_B2(2) <= X (2) and Y (2); --取除开符号位的低3位进行运算ZERO <= '0';C_TEMP(0) <= A_MULT_B0(0);C_TEMP(4 downto 3) <= S_TEMP2(1 downto 0);C_TEMP(5) <= C2_out_B1;C_TEMP(6) <= A(3) xor B(3); --判断符号位data_out <= C_TEMP; --最终结果end multi_arch;三.无符号除法 (4-bit × 4-bit)---------------------------------------------------------Design unit:4-Bit*4-Bit divider-- :--File name :**.vhd-- :--Description:Structual model of two input multipler.Input of type std_logic_vector-- :--Limitation :none-- :--System :VHDL'93-- :--Author :CaoGuangyuan,LinRongbiao-- :Department of Software and Conmunication-- :University of SUN YA T-SEN-- :GUANG ZHOU-- :********************----Revision :V ersion 1.0-------------------------------------------------------library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity Unsigned_div isport (Remaider: out STD_LOGIC_VECTOR(3 downto 0);--输出余数X: in STD_LOGIC_VECTOR (3 downto 0);Y: in STD_LOGIC_VECTOR (3 downto 0);Z: out STD_LOGIC_VECTOR (3 downto 0) --输出商);end Unsigned_div;architecture Behavior of Unsigned_div isbeginprocessvariable T : STD_LOGIC_VECTOR (3 downto 0);--存放余数variable H : STD_LOGIC_VECTOR (3 downto 0);variable temp : STD_LOGIC_VECTOR (7 downto 0);variable Q : STD_LOGIC_VECTOR (3 downto 0);beginT :="0000";T :=T(2 downto 0)&H(3); --初始时移动一位H :=X;if(T>=Y)then --T大于除数时Q(3):='1';T :=T-Y;T :=T(2 downto 0)&H(3);H:=H(2 downto 0)&'0';--相减再移位elsif(T<H)thenQ(3):='0';T:=T(3 downto 1)&'0'; --直接移位if(T>=H)thenQ(2):='1';T :=T-Y;T :=T(2 downto 0)&H(3);H:=H(2 downto 0)&'0';--相减再移位elsif(T<H)thenQ(2):='0';T:=T(3 downto 1)&'0'; --直接移位if(T>=H)thenQ(1):='1';T :=T-Y;T :=T(2 downto 0)&H(3);H:=H(2 downto0)&'0';--相减再移位elsif (T<H)thenQ(1):='0';T:=T(3 downto 1)&'0'; --直接移位if(T>=H)thenQ(0):='1';T :=T-Y;T :=T(2 downto 0)&H(3);H:=H(2downto 0)&'0';--相减再移位elsif (T<H)thenQ(0):='0';T:=T; --直接移位end if;end if;end if;end if ;Remaider<=T;Z<=Q;end process;end Behavior;---------------------------------------------------------Design unit:4-Bit*4-Bit multiple-- :--File name :unsigned_multi.vhd-- :--Description:Structual model of two input multipler.Input of type std_logic_vector -- :--Limitation :none-- :--System :VHDL'93-- :--Author :CaoGuangyuan,LinRongbiao-- :Department of Software and Conmunication-- :University of SUN YA T-SEN-- :GUANG ZHOU-- :********************----Revision :V ersion 1.0----------------------------------------------------------------------------------------------------------------Design unit:4-Bit*4-Bit divider-- :--File name :***.vhd-- :--Description:Structual model of two input multipler.Input of type std_logic_vector -- :--Limitation :none-- :--System :VHDL'93-- :--Author :CaoGuangyuan,LinRongbiao-- :Department of Software and Conmunication-- :University of SUN YA T-SEN-- :GUANG ZHOU-- :********************----Revision :V ersion 1.0-------------------------------------------------------library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity Unsigned_div isport (Remainder: out STD_LOGIC_VECTOR(3 downto 0);--输出余数X: in STD_LOGIC_VECTOR (3 downto 0);Y: in STD_LOGIC_VECTOR (3 downto 0);Z_out: out STD_LOGIC_VECTOR (3 downto 0) --输出商);end Unsigned_div;architecture Behavior of Unsigned_div isbeginprocessvariable T : STD_LOGIC_VECTOR (3 downto 0);--存放余数variable H : STD_LOGIC_VECTOR (3 downto 0);beginT :="0000";H :=X;for i in 1 to 4 loopT:=T(2 downto 0)&X(3);if(T>=Y)thenT:=T-Y;H:=H(2 downto 0)&'1';elseH:=H(2 downto 0)&'0';end if;end loop;Z_out<=H;Remainder<=T;end process;end Behavior;四:无符号除法(10-bit ×10-bit)---------------------------------------------------------Design unit:10-Bit*10-Bit divider-- :--File name :unsigned_divider.vhd-- :--Description:Structual model of two input multipler.Input of type std_logic_vector -- :--Limitation :none-- :--System :VHDL'93-- :--Author :CaoGuangyuan,LinRongbiao-- :Department of Software and Conmunication-- :University of SUN YA T-SEN-- :GUANG ZHOU-- :********************----Revision :V ersion 1.0-------------------------------------------------------library IEEE;use IEEE.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity divice isport(X,Y:in std_logic_vector(9 downto 0);Quotient,Remain:out std_logic_vector(9 downto 0)); end divice;architecture Behavioral of divice isbeginprocess(X,Y)isvariable temp:std_logic_vector(9 downto 0);variable temp_X:std_logic_vector(9 downto 0);begintemp:=(others=>'0');temp_X:=X;for i in 0 to 9 looptemp:=temp(8 downto 0)&temp_X(9);if(temp<Y)then --与除数做比较temp_X:=temp_X(8 downto 0)&'0';elsetemp_X:=temp_X(8 downto 0)&'1';temp:=temp-Y; --减去除数end if;end loop;Quotient<=temp_X;Remain<=temp;end process;end Behavioral;。
4位二进制乘法器
4位二进制乘法器的设计一、概述4位二进制乘法器在实际中的应用相当广泛,是一些计算器的基本组成部分,其原理适用于很多计算器和大型计算机,它涉及到时序逻辑电路如何设计、分析和工作等方面。
通过此电路更深刻的了解时序逻辑部件的工作原理,从而掌握如何根据需要设计满足要求的各种电路图,解决生活中的实际问题,将所学知识应用于实践中。
根据任务书设计电路主要要求是:绘制出电路的原理图,并且诠释每部分的功能;根据设计的电路图分析所需要元器件种类和个数;根据技术指标制定实验方案,验证所设计的电路;进行实验数据处理和分析。
设计任务技术指标;输入数据:被乘数X(0000~1111);乘数Y(0000~1111);输入命令:启动信号S1,高有效。
输出数据:乘积C(00000000~11100001);其乘积可以存贮。
二、方案说明此方案采用74LS194双向移位寄存器,74LS283加法器和 74LS00、74LS04等门电路。
乘法就是反复进行移位和加法,被乘数放入MD寄存器,乘数放入MQ 寄存器,A寄存器中放结果,乘数的位数放在C寄存器中。
AC寄存器的初值为0。
A寄存器的内容被右移时,最高位移入0,其最低位内容被移入MQ的最高位。
C 寄存器右移时,其最高位移入1。
若MQ寄存器的最低位(用M(0)来表示)为1时,将被乘数与A寄存器中的内容用全加器相加后,将结果放回A寄存器中保存。
若M(0)的值为0,将0与A寄存器的内容相加,将其结果再存入A寄存器。
接着,将A、MQ、C寄存器的内容右移1位。
将此动作反复进行乘数位数那么多遍。
此乘法电路通过同步电路操作,运算与时钟脉冲同步进行。
从以上方案中可知,方案设有信号发生电路,数据输入电路,移位寄存电路,加法电路和运算结束判断电路和启动电路。
各部分功能明确且之间的联系容易理解,所以采用这种方案。
原理框图如图1所示。
1图1 4位二进制乘法器电路的原理框图三、电路设计1. 信号发生电路因为A 寄存器起着存储并移位的作用,所以它的时钟信号频率应为主时钟频率的2倍,占空比相同且都大于50%,如图2信号发生电路。
四位二进制乘法器电路的设计
四位二进制乘法器电路的设计一、前言在数字电路设计中,四位二进制乘法器是一个常见的电路设计,它可以将两个四位的二进制数相乘,并输出八位的结果。
本文将详细介绍四位二进制乘法器电路的设计原理和实现方法。
二、四位二进制乘法器电路的原理1. 乘法运算原理在十进制数中,两个数相乘的运算过程是将其中一个数每一位与另一个数相乘,并将每次得到的结果相加。
例如,计算12×13时,先用12分别与3和1相乘,得到36和12,然后将这两个结果相加即可得到156。
在二进制数中也是同样的道理。
例如,计算1010(10)×1101(13)时,先用1010分别与1、0、1、1相乘,得到1010、0000、1010、1010四个结果;然后将这四个结果左移0、4、8、12位(即对应不同位置上的十进制值),再相加即可得到11100110(230)。
2. 四位二进制乘法器电路原理根据以上运算原理,在数字电路中可以设计出四位二进制乘法器电路。
该电路由以下几部分组成:① 两个四位二进制数输入端:分别为被乘数和乘数,每个输入端有四个二进制位。
② 乘法器:该电路的核心部分,用于实现两个四位二进制数的相乘。
具体实现方式为将被乘数的每一位与乘数相乘,并将结果存储在一个8×4的矩阵中。
其中,矩阵的第i行第j列表示被乘数第i位和乘数第j位相乘的结果(i和j均从0开始计数)。
例如,当被乘数为1010、乘数为1101时,该矩阵如下所示:1 0 1 0---------1 | 1 0 1 01 | 0 0 00 | 1 01 | 1其中,第一列表示被乘数的最低位与乘数相乘的结果,第二列表示被乘数次低位与乘数相乘的结果,以此类推。
③ 加法器:用于将矩阵中每一行的结果相加,并输出一个八位二进制结果。
具体实现方式为将矩阵中同一行的四个二进制数字依次左移不同位置后相加,并将得到的八位结果输出。
例如,在上述示例中,对于第一行来说,需要将1010左移0、4、8、12位,分别得到10100000、00000000、00000000和00000000,然后将这四个数相加,得到10100110(166),即为最终结果。
数电课程设计四位二进制乘法器的设计与实现
四位二进制乘法器的设计与实现物理系光信息科学与技术专业1011202班 11011202181. 实验目的设计一个乘法器,实现两个四位二进制数的乘法。
两个二进制数分别是被乘数3210A A A A 和乘数3210B B B B 。
被乘数和乘数这两个二进制数分别由高低电平给出。
乘法运算的结果即乘积由两个数码管显示。
其中显示低位的数码管是十进制的;显示高位的数码管是二进制的,每位高位片的示数都要乘以16再与低位片相加。
所得的和即是被乘数和乘数的乘积。
做到保持乘积、输出乘积,即认为目的实现,结束运算。
2.总体设计方案或技术路线总体思路:将乘法运算分解为加法运算。
被乘数循环相加,循环的次数是乘数。
加法运算利用双四位二进制加法器74LS283实现,循环次数的控制利用计数器74LS161、数码74LS85比较器实现。
运算结果的显示有数码管完成,显示数字的高位(进位信号)由计数器74LS161控制。
技术路线:以54 为例。
被乘数3210A A A A 是5,输入0101;乘数3210B B B B 是4,输入0100.将3210A A A A 输入到加法器的A 端,与B 端的二进制数相加,输出的和被送入74LS161的置数端(把这个计数器成为“置数器”)。
当时钟来临,另一个74LS161(被称之为“计数器”)计1,“置数器”置数,返回到加法器的B 端,再与被乘数3210A A A A 相加……当循环相加到第四个时钟的时候,“计数器”计4,这个4在数码比较器74LS85上与乘数3210B B B B 比较,结果是相等,A=B 端输出1,经过反相器后变为0返回到被乘数输入电路,截断与门。
至此,被乘数变为0000,即便是再循环相加,和也不变。
这个和,是多次循环相加的和,就是乘积。
高位显示电路较为独立,当加法器产生了进位信号,CA 端输出了一个高电平脉冲,经过非门变为下降脉冲驱动74LS161计一次数,这个数可以通过数码管显示出来。
四川大学数电课程设计(四位二进制无符号数乘法器 ).
数字电子技术基础课程设计报告学院电气信息学院专业姓名学号设计题目四位二进制无符号数乘法器目录1设计任务描述 (1)1.1设计描述 (1)1.2设计概述 (1)2通用器件实现 (1)2.1方案一与门和全加器组合逻辑电路 (1)2.1.1设计思路 (1)2.1.2仿真测试 (2)2.1.3优缺点分析 (3)2.2方案二多种通用集成芯片组合逻辑电路 (3)2.2.1设计思路 (3)2.2.2仿真测试 (5)2.2.3优缺点分析 (7)3使用硬件描述语言——Verilog实现 (7)3.1设计目的 (7)3.2设计要求 (7)3.3硬件语言描述 (7)3.4BASY2板结果附图 (9)4结论与心得体会 (11)4.1结论 (11)4.2心得体会 (11)1设计任务描述1.1设计描述设计一个乘法器,实现两个四位二进制数的乘法。
两个二进制数分别是被乘数3210A A A A 和乘数3210B B B B 。
被乘数和乘数这两个二进制数分别由高低电平给出。
乘法运算的结果即乘积由电平指示灯显示的二进制数。
做到保持乘积、输出乘积,即认为目的实现,结束运算。
1.2设计概述4位二进制乘法器在实际中具有广泛应用。
它是一些计算器的基本组成部分,其原理适用于很多计算器和大型计算机,它涉及到时序逻辑电路如何设计、分析和工作等方面。
通过此电路更深刻的了解时序逻辑部件的工作原理,从而掌握如何根据需要设计满足要求的各种电路图,解决生活中的实际问题,将所学知识应用于实践中。
2通用器件实现2.1方案一与门和全加器组合逻辑电路2.1.1设计思路手动实现两个四位二进制乘法的计算,应为以下过程:123456781234123411110001110111010000110110111101C C C C C C C C A A A A B B B B 设乘数为1234A A A A (下标数字大则为高位),被乘数为1234B B B B ,使乘数从低位到高位依次与被乘数相乘,得到四个四位二进制加数,再依次对四个加数错位相加,得到八位的二进制的乘法运算结果。
四位二进制乘法器
四位二进制乘法器设计报告一、原理此四位乘法器主要运用多次错位相加运算来实现乘法运算。
由开关控制输入高电平或低电平产生两个二进制数(高电平有效),利用与门实现一位和四位的乘积运算,再将两次的乘积输入加法器,得到的和与进位与下一个乘积再进行加法运算。
设两个二进制数分别是被乘数D1C1B1A1和乘数D2C2B2A2,得到结果Y8Y7Y6Y5Y4Y3Y2Y1,可以把乘法运算分解成四个一位与四位的乘积和三次错位相加。
错位相加时累计和的最后一项可以直接输出为乘积的最低位,剩下三位和进位端再与高位乘积相加,每次相加后的最低位直接接到CD4511未接的最低位,经过三次相加就可以得到乘积。
以1011和1101为例1101*1011110□1(Y1)+11011001□1(Y2)+0000100□1(Y3)+110110001 (Y8—Y4)网上有的乘法器电路图一般采用反复进行移位和加法来进行乘法计算,依靠寄存器不断左移实现错位,而我直接把最低位输出到数码管,将进位端作为最高位进行下一步计算,在接线时就完成了移位,省去了寄存器的使用,使电路更加简单。
二、主要器件74ls283 3片74ls08 4片开关 8个数码管 4个CD4511 2片10KΩ电阻 8个470Ω电阻 14个三、芯片介绍74ls08:由四个与门组成74ls283:加法器,(5,3,14,12,6,2,15,11)8个脚输入两个乘数,(4,,1,13,10)四个脚输出,7脚输入低电平控制芯片做加法,9脚是进位端。
CD4511:用于驱动共阴极 LED (数码管)显示器的 BCD 码-七段码译码器,无法显示十六进制数的A-E。
四、原理图五、仿真3*7=1*16+5=2111*11=7*16+9=121六、运算结果举例七、遇到的问题用protues仿真时输出直接接BCD码的数码管,显示的是十六进制数,焊接时用了CD4511,A-E消隐导致乘积只能显示0-9,有A-E就无法显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字电子技术基础课程设计报告学院电气信息学院专业姓名学号设计题目四位二进制无符号数乘法器目录1设计任务描述 (1)1.1设计描述 (1)1.2设计概述 (1)2通用器件实现 (1)2.1方案一与门和全加器组合逻辑电路 (1)2.1.1设计思路 (1)2.1.2仿真测试 (2)2.1.3优缺点分析 (3)2.2方案二多种通用集成芯片组合逻辑电路 (3)2.2.1设计思路 (3)2.2.2仿真测试 (5)2.2.3优缺点分析 (7)3使用硬件描述语言——Verilog实现 (7)3.1设计目的 (7)3.2设计要求 (7)3.3硬件语言描述 (7)3.4BASY2板结果附图 (9)4结论与心得体会 (11)4.1结论 (11)4.2心得体会 (11)1设计任务描述1.1设计描述设计一个乘法器,实现两个四位二进制数的乘法。
两个二进制数分别是被乘数3210A A A A 和乘数3210B B B B 。
被乘数和乘数这两个二进制数分别由高低电平给出。
乘法运算的结果即乘积由电平指示灯显示的二进制数。
做到保持乘积、输出乘积,即认为目的实现,结束运算。
1.2设计概述4位二进制乘法器在实际中具有广泛应用。
它是一些计算器的基本组成部分,其原理适用于很多计算器和大型计算机,它涉及到时序逻辑电路如何设计、分析和工作等方面。
通过此电路更深刻的了解时序逻辑部件的工作原理,从而掌握如何根据需要设计满足要求的各种电路图,解决生活中的实际问题,将所学知识应用于实践中。
2通用器件实现2.1方案一与门和全加器组合逻辑电路2.1.1设计思路手动实现两个四位二进制乘法的计算,应为以下过程:123456781234123411110001110111010000110110111101C C C C C C C C A A A A B B B B 设乘数为1234A A A A (下标数字大则为高位),被乘数为1234B B B B ,使乘数从低位到高位依次与被乘数相乘,得到四个四位二进制加数,再依次对四个加数错位相加,得到八位的二进制的乘法运算结果。
依次算法,两个四进制乘数由8个单刀双掷开关接地(低电平0)和接5V(高电平1)进行输入,乘数A 从低位到高位依次与被乘数B 相乘过程可用二输入与门实现,共得到四个加数16个与运算结果,乘数最低位1A 与被乘数作与运算的四位结果的最低位即是乘法运算结果的最低位1C ;依次用三个四位全加器对四个加数进行全加运算,运算时输入两个四位二进制数,输入进位信号接地为0,低级的全加器的运算结果进位信号作为与下一个加数进行全加运算的被加数的最高位,四位全加运算结果的最低位作为输出结果,并从低到高位的依次输出432C C C 、、,最后一个全加器运算过后得到进位信号是八位二进制计算结果的最高位8C ,剩余的高三位输出分别为567C C C 、、,将8位输出结果直接在通过电阻到地保护的发光二极管表示。
通过Multisim软件实现该乘法器设计电路的搭接如下图:2.1.2仿真测试当输入乘数1101和被乘数1011时,显示结果为10001111如下:因为Multisim软件通常工作在理想状态下,启动调试运行无误且运行结果正确。
2.1.3优缺点分析优点:乘数输入通过开关接高电平或者直接接地实现,计算结果通过查看8个LED 管的亮暗(亮为高电平1)实现,连线将计算结果依次输出。
无外来其他输入信号干扰,算法简单,使用芯片较少,逻辑电路图易懂。
缺点:搭接电路过程中双输入与门使用了TTL 的74LS08芯片和全加器74LS83。
由于TTL 门电路的BJT 工作在饱和状态,会使开关速度受到很大限制;使用多个TTL 与门接入电路,在一定程度上增加了集成芯片内部的连线复杂程度。
2.2方案二多种通用集成芯片组合逻辑电路2.2.1设计思路电路原理框图如图1所示。
乘法器可以利用加法器和寄存器实现。
加法器E(触发器)寄存器B(被乘数)计数器P检n寄存器A(累加和)寄存器Q(乘数)进位Q 0Z 图1乘法器原理框图实验电路输入的被乘数取值范围为(0000)2~(1111)2,乘数的取值范围为(0000)2~(1111)2。
通过计算可得,乘积的取值范围为(00000000)2~(11100001)2。
通过初步的数值位数分析可知,储存被乘数需要1片4位二进制寄存器,储存乘数需要1片4位二进制寄存器,储存乘积需要2片4位二进制寄存器。
由图中二进乘法竖式计算可以看出:二进制乘法可以转化为移位累加操作。
对于4位二进制乘法,以8位乘积寄存器的高4位储存累加结果。
运算时先将乘积寄存器置零,然后从低位向高位依次检查乘数寄存器中每一位的值。
当值为“1”时,先用乘积寄存器的高4位累加被乘数,并将和保存在乘积寄存器的高4位中,然后以加和的进位结果作为右移输入对乘积寄存器进行右移操作。
当值为“0”时,以“0”作为右移输入直接对乘积寄存器进行右移操作。
观察图可以看出,乘法运算初始化时存入寄存器低4位中的“0”因计算过程中先后图14位二进制乘法运算竖式分析到来的4次右移操作而被移出寄存器。
如果用乘法运算的乘数代替这4个“0”,每次右移操作恰好将检查过的乘数位移出寄存器,而对尚未处理的数据没有影响,并且不会影响乘法运算的结果。
因此,考虑到电路的成本,可以将乘数储存在乘积寄存器的低位端从而节省1片寄存器的花费。
在4位二进制乘法运算中,因为乘数有4位二进制位,所以整个运算过程需要检查乘数位值4次,即需要进行4次基本移位操作。
因此,在电路中需要用计数器来记录移位操作的次数以指示运算的结束。
1.控制逻辑电路(如右)。
二进制乘法运算是一个只与乘数位数有关的累加移位过程,对于4位二进制乘法运算循环需要进行4次累加移位操作。
S2、S3状态的循环过程就是二进制乘法运算的过程,其中S2状态电路进行累加操作,S3状态电路进行右移操作。
当寄存器Q的最低位输出Q0为1时,电路进入S2状态,将加法器器D中输出的数值置入寄存器A中,寄存器Q的输出状态保持不变。
此时寄存器A的控制端S0=S1=1,寄存器B的控制端S0=S1=0当寄存器Q的最低位输出Q0为0时将跳过S2状态直接进入S3状态。
S3状态时,寄存器A和寄存器Q进行右移操作,两芯片的控制端输入均为S0=1、S1=0。
由于计数器P用来记录电路中执行移位操作的次数,因此当计数器P的输出端Q2为1时,即可断定乘法运算过程已经结束。
此时应该停止时钟使电路状态保持不变,即回到S0状态。
否则电路状态再次进入对寄存器Q的最低位输出Q0的判断。
将电路状态S2、S3时寄存器A和寄存器Q各端口的状态合在一起观察,设D表示寄存器A的Q0,T为寄存器Q的Q0。
规定加‘*’的状态表示该端口前一个时钟周期的状态。
寄存器A:S0=1,S1=S1*⊙T,SR=CI·T;寄存器Q;S0=(S0*·T)',S1=1,SR=D;为实现该关系,电路中用U8A、U8B和U10A分别储存寄存器Q的控制端S0、寄存器A 的控制端S1和加法器D的进位输出端CO在上一个时钟周期的状态。
另外,通过对表3的观察发现,在电路状态S1的初始化过程中,需要对D触发器U8A置一,对D触发器U8B置零。
计数器P用来记录电路中执行移位操作的次数,且电路采用同步时钟控制,因此只有当电路执行移位操作是计数器P的使能端才有效。
通过对表3的观察发现:在电路状态S1、S2中,只有当电路进行移位操作时寄存器Q的控制端S0才为1。
所以,计数器P的使能端ENP、ENT与寄存器Q的控制端S0同状态。
最后,对D触发器U10B来说,当按下开关J1时,U10B的置数端接收到低电平被置一,其输出Q接寄存器B和寄存器Q的控制端S0、S1使之为一,寄存器B、Q处于置数状态,Q′接寄存器A、计数器P、D触发器U8B和U10A的CLR端使它们置零,并且Q′接D触发器U8A 的PR端使其置一,即使电路处于S1状态。
当第一个上升沿到来时,D触发器U10B的输出进行翻转,电路进入S2、S3状态的循环过程,并在计数器P的输出Q2位1时停止时钟,使电路回到S0状态。
2.数据的处理数据的处理包括累加和右移两部分。
在加法电路中,寄存器B中的被乘数与寄存器A中的部分积相加,并将结果保存在寄存器A中,同时将进位加法器的进位输出锁存在D触发器中,以提供右移操作使用。
即将寄存器B和寄存器A的数据输出端接加法器D的数据输入端,将加法器D的数据输出端接寄存器A的数据输入端,加法器D的进位输入端接低电平,加法器D的进位输出端接D触发器U10A 的输入端。
在移位电路中,需要对寄存器A和寄存器Q进行联合右移,所以将寄存器A的最低位输出Q0接到寄存器Q的右移输入端SR。
寄存器的其他控制端按控制电路的设计对应连接。
2.2.2仿真测试连好电路后,打开仿真电源,电路进入等待状态。
先设置电路的输入,即按需要输入的被乘数和乘数的二进制码调节拨码开关输出的电平信号(注:拨码开关置左为高电平,置右为低电平,在一组四个拨码开关中,上为高位,下为低位)。
按下开关电路启动。
途中probe显示即为输出结果,输出高电平亮,低电平不亮。
图为1111×1111=11100001的仿真。
被乘数A乘数B乘积P 0001000100000001 0010001000000100 0100001000001000 1010110001111000 1100110010010000 1011110110001111 11111111111000012.2.3优缺点分析优点:电路具有连续计算能力,对比方案一优势在于计算过程可以通过按键开始,而不是改变输入时直接输出改变,并且能够存贮乘积。
输入输出及中间计算的移位过程能够通过probe显示出来,非常直观。
对高位,多次乘法运算来说,计算速度快,运行时间短。
缺点:使用的芯片较多搭。
逻辑电路图相对复杂,搭接过程比较复杂,连线多,易出现错误。
3使用硬件描述语言——Verilog实现3.1设计目的本次设计的目的是在初步掌握Verilog硬件语言的基础上,通过ISE软件进行有关程序的编译、仿真实验,最后通过下载程序到硬件设备BASY2板进行验证。
通过学习的Verilog语言结合电子电路的设计知识理论联系实际,掌握所学的数字电子技术基础课程知识,学习Verilog基本单元电路的综合设计应用。
通过对四位二进制乘法器的设计,巩固和综合运用所学课程,加深对数字电路和Verilog基本单元的理解,理论联系实际,提高设计能力,提高分析、解决计算机技术实际问题的独立工作能力。
通过课程设计深入理解Verilog语言的精髓,达到课程设计的目标,乘法器的设计可以使对计算机怎样工作有了更深了解。
3.2设计要求1)构造一个4位二进制乘法器;2)通过ISE软件,使用Verilog语言编写程序,并在BASY2板上实现:①使用拨码开关拨动实现输入四位乘数和被乘数;②用8个LED灯显示最后的运行结果。