设计实现Y=X^2的组合逻辑电路

 (15分)设计能实现函数Y=X^{2}的组合电路, X是三位二进制数X_{2}X_{1}X_{0}, 其取值范围是0~5的正整数. 要求用与非门实现(要有设计和化简过程, 不必画出逻辑图)

思维过程梳理:

X的范围是0~5 (000, 001, 010, 011,100, 101), Y=X^{2}的范围是0~25(00000, 00001, 00010, 00011, ..., 11001), 需要五位二进制数来表示.  -> 设Y的五位二进制数变量从高位到低位依次为 Y_{4}Y_{3}Y_{2}Y_{1}Y_{0}. ->

根据Y=X^{2} ,X与Y的逻辑对应关系为: 

X_{2}X_{1}X_{0}=000, Y_{4}Y_{3}Y_{2}Y_{1}Y_{0}=00000;

X_{2}X_{1}X_{0}=001, Y_{4}Y_{3}Y_{2}Y_{1}Y_{0}=00001;

X_{2}X_{1}X_{0}=010, Y_{4}Y_{3}Y_{2}Y_{1}Y_{0}=00100;

X_{2}X_{1}X_{0}=011, Y_{4}Y_{3}Y_{2}Y_{1}Y_{0}=01001;

X_{2}X_{1}X_{0}=100, Y_{4}Y_{3}Y_{2}Y_{1}Y_{0}=10000;

X_{2}X_{1}X_{0}=101, Y_{4}Y_{3}Y_{2}Y_{1}Y_{0}=11001;

根据上述逻辑关系可得到图示真值表. 

注意 X_{2}X_{1}X_{0}= 110X_{2}X_{1}X_{0}=111 为无关项, 在填充卡诺图时要用"\times"填充.

在化简卡诺图后, Y_{0}=X_{0}Y_{1}=0Y_{4}=X_{2}这三位输出直接对应连接输入即可, 而Y_{2}Y_{3}的表达式须用与非门实现. 

对于给定表达式Y=X, 我们可以通过 Y=X \cdot X -> 加重叠率 -> 摩根定律 来转换为与非式.

Y_{2}=X_{1} \cdot \overline{X_{0}} =X_{1} \cdot \overline{X_{0}} + 0 =\overline{ \overline{ X_{1} \cdot \overline{X_{0}} + 0 } } =\overline{ \overline{X_{1} \cdot \overline{X_{0}}} \cdot \overline{0} } =\overline{ \overline{X_{1} \cdot \overline{X_{0}}} \cdot 1 } =\overline{ \overline{X_{1} \cdot \overline{X_{0} \cdot 1}} \cdot 1 }.

Y_{3}=X_{2}X_{0}+X_{1}X_{0} =\overline{ \overline{ X_{2}X_{0}+X_{1}X_{0} } } =\overline{ \overline{X_{2}X_{0} } \cdot \overline{ X_{1}X_{0} } }.

 

  • 16
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
航空航天大学 课 程 设 计 报 告 课程设计名称:计算机组成原理课程设计 课程设计题目:阵列乘法器的设计实现 院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 完成日期:2014年1月10日 目 录 第1章 总体设计方案 1 1.1 设计原理 1 1.2 设计思路 2 1.3 设计环境 3 第2章 详细设计方案 3 2.1 总体方案的设计实现 4 2.1.1总体方案的逻辑图 4 2.1.2器件的选择与引脚锁定 4 2.1.3编译、综合、适配 5 2.2功能模块的设计实现 5 2.2.1 一位全加器的设计实现 6 2.2.2 4位输入端加法器的设计实现 7 2.2.3 阵列乘法器的设计实现 10 第3章 硬件测试 13 3.1 编程下载 13 3.2 硬件测试及结果分析 13 参考文献 15 附 录(电路原理图) 16 第1章 总体设计方案 1.1 设计原理 阵列乘法器采用类似人工计算的方法进行乘法运算。人工计算方法是用乘数的每一位去 乘被乘数,然后将每一位权值对应相加得出每一位的最终结果。如图1.1所示,用乘数的 每一位直接去乘被乘数得到部分积并按位列为一行,每一行部分积末位与对应的乘数数 位对齐,体现对应数位的权值。将各次部分积求和,即将各次部分积的对应数位求和即 得到最终乘积的对应数位的权值。 为了进一步提高乘法的运算速度,可采用大规模的阵列乘法器来实现,阵列乘法器的乘 数与被乘数都是二进制数。可以通过乘数从最后一位起一个一个和被乘数相与,自第二 位起要依次向左移一位,形成一个阵列的形式。这就可将其看成一个全加的过程,将乘 数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结 果再加上前一列的进位进而得出每一位的结果,假设被乘数与乘数的位数均为4位二进制 数,即m=n=4,A×B可用如下竖式算出,如图1.1所示。 X4 X3 X2 X1 =A × Y4 Y3 Y2 Y1 =B X4Y1 X3Y1 X2Y1 X1Y1 X4Y2 X3Y2 X2Y2 X1Y2 X4Y3 X3Y3 X2Y3 X1Y3 (进位) X4Y4 X3Y4 X2Y4 X1Y4 Z8 Z7 Z6 Z5 Z4 Z3 Z2 Z1 图1.1 A×B计算竖式 X4 ,X3 ,X2 ,X1 ,Y4 ,Y3 ,Y2 ,Y1为阵列乘法器的输入端,Z1- Z8为阵列乘法器的输出端,该逻辑框图所要完成的功能是 实现两个四位二进制既A(X)*B(Y)的乘法运算,其计算结果为C(Z) (其中A(X)=X4X3X2X1 ,B(Y)=Y4Y3Y2Y1,C(Z)=Z8Z7Z6Z5Z4Z3Z2Z1而且输入和输出结果均用二进制表示 )。阵列乘法器的总原理如图1.2所示。 图1.2 阵列器的总原理图 2 设计思路 (1)整体部分:阵列乘法器采用的是先逐位求解部分积,本课程设计要完成X与Y的乘法 运算(X=X4X3X2X1,Y=Y4Y3Y2Y1), 采用自上而下的设计方法,顶层设计采用8输入和8输出的一个自设置芯片,芯片部封装 16个模块,构成4×4的乘法阵列,如图1.3所示,阵列的每一行送入乘数Y的每一位数位, 而各行错开形成的每一斜列则送入被乘数的每一数位。 图 1.3 阵列乘法器4×4阵列 单元部分:设计整体框图中的每一个细胞模块实现的功能是计算部分积和向高位的进位 。 (3)仿真部分:将整个电路连接好以后即可进行仿真,用以验证设计是否正确。主 要需要仿真的部分有:一位全加器、4输入加法器以及整体电路图。 (4)采用硬件描述语言进行电路设计实现给定的功能,设计的原理图经编译、调 试后形成*.bit文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。 阵列乘法器是由十六个模块组成,每一个模块构包括一个与门和一位全加器。具体的各 个模块的设计在模块设计中一一呈现。 1.3 设计环境 (1)硬件坏境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机。具体 容如下: COP2000实验仪:COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大 部分组成实验平台上有寄存器组R0- R3、运算单元、累加器A、暂存器B、直通/左移/右移单元、地址寄存器、程序计数器、 堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制 器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20个 按键、字符式LCD、RS232口。 XCV200实验板:在COP2000 实验仪中的FPGA 实验板主要用于设计性实验和课程设计实验,它的核心器件是20 万门XCV200 的FPGA 芯片。用FPGA 实验板可设计8 位16 位和32 位模型机 (2)软
修数字逻辑与数字电路课程时的一些实验报告 《数字逻辑与数字电路》实验指导 实验1.Verilog HDL输入方式组合电路的设计 多路选择器和三人表决电路的设计 (1) 实验目的:进一步熟悉Quartus II的Verilog HDL文本设计流程,组合电路的设计仿真和硬件测试。 (2) 实验内容1、多路选择器的设计: 根据教材5.1节的流程,利用Quartus II完成2选1多路选择器的文本编辑输入(MUX21.v)和仿真测试等步骤,给出仿真波形。 在实验系统上硬件测试,验证此设计的功能。对于引脚锁定以及硬件下载测试,a和b分别接来自不同的时钟;输出信号接蜂鸣器。最后进行编译、下载和硬件测试实验(通过选择键1,控制s,可使蜂鸣器输出不同音调)。 (4) 实验内容2、三人表决电路的设计: 根据教材5.1节的流程,利用Quartus II完成三人表决电路的文本编辑输入(图5-36)和仿真测试等步骤,给出仿真波形。 在实验系统上硬件测试,验证此设计的功能。对于引脚锁定以及硬件下载测试,ABC[2..0]分别接自键3、键2、键1;CLK接自时钟CLOCK0(256Hz),输出信号X接D1,输出信号Y接蜂鸣器。最后进行编译、下载和硬件测试实验(通过按下键3、键2、键1,控制D1的亮灭)。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 实验2.原理图输入方式全加器设计 (1) 实验目的:熟悉利用Quartus II的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握文本和原理图输入方式设计的详细流程。 (2) 实验原理:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 (3) 实验内容1:按照教材4.6节完成半加器和1位全加器的设计,包括用文本或原理图输入,编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个元件符号入库。 (4) 实验内容2:建立一个更高层次的原理图或文本设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 实验3.7段数码显示译码器设计 (1) 实验目的:进一步熟悉Quartus II的Verilog HDL文本设计流程,组合电路的设计仿真和硬件测试。熟悉利用Quartus II的原理图输入方法设计简单组合电路,掌握层次化设计的方法,把握文本和原理图输入方式设计的详细流程。 (2) 实验原理:7段数码显示译码器设计采用case语句对数码管的七个段分别进行赋值0或1,实现数字的显示;使用if-else语句设计模16计数器。 (3) 实验内容1:使用VerilogHDL语言设计一个7段数码显示译码器并进行仿真及下载。 (4) 实验内容2:使用VerilogHDL语言设计一个模16计数器,含计数使能端(en)与异步清零端(clr),当en为高电平时开始计数,为低电平时停止计数,将计数器与7段数码显示译码器使用原理图进行连接,并仿真及下载。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 原理工程图: 实验4.基于LPM宏模块的计数器设计 (1) 实验目的:初步掌握Quartus II基于LPM宏模块的设计流程与方法并由此引出基于LPM模块的许多其他实用数字系统的自动设计技术。 (2) 实验内容: 根据教材175页8.5节的流程,利用Quartus II完成基于LPM宏模块的计数器设计编辑和仿真测试等步骤,给出仿真波形。 在实验系统上硬件测试,验证此设计的功能并进行解说。对于引脚锁定以及硬件下载测试。 (3) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。 实验5.序列检测器状态机设计 (1) 实验目的:用状态机实现序列检测器的设计,了解一般状态机的设计与应用。 (2) 实验原理:序列检测器可用于检测一组或多组由二进制吗组成的脉冲序列信号,当序列检测器连接收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。 (3) 实验内容1:按照教材180页8.7节的流程,利用Quartus II完成序列检测器状态机的设计编辑和仿真测试等步骤,给出仿真波形,了解控制信号的时序,最后进行引脚锁定并完成硬件测试实验。 建议选择电路模式8,用键8(PIO8)控制复位信号CLR;键6(PIO9)控制状态机工作时钟CLK;将8位待检测预置数由键4/键3作为外部输入,待检测串行序列数输入DS接PIO10(左移,最高位在前);指示输出DC接PIO43~PIO40(显示于数码管7), 现态码输出C接PIO47~PIO44(显示于数码管8)。下载后:①按实验板“系统复位”键;②用键2和键1输入2位十六进制待测序列数“11100101”;③按键8复位(平时数码7指示显“0”);④按键6(CLK) 8次,这时若串行输入的8位二进制序列码(显示于数码2/1和发光管D8~D0)与预置码“11100101”相同,则数码7应从原来的0变成1,表示序列检测正确,否则仍为0。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 实验6.数字频率计 (1) 实验目的:设计6位10进制频率计,学习较复杂的数字系统设计方法。 (2) 实验原理:数字频率计由三大部分组成。3个CNT10模块分别是双十进制计数器模块,负责对被测频率信号进行计数;3个74374被用做输出数据的锁存器,锁存输出的数据,即所测频率值通过外接的数码管显示;TF_CTRL模块是此频率计的测频时序控制模块,由它发出ENB, LOCK, CLR三个控制信号,分别控制计数器的计数使能,锁存器的锁存控制,以及计数器的清零。 根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;1秒计数结束后,计数值被锁入锁存器,计数器清0,为下一测频计数周期作好准备。测频控制信号可以由一个独立的发生器来产生,即TF_CTRL。 设计要求是:TF_CTRL的计数使能信号ENB能产生一个1秒脉宽的周期信号,并对频率计中的6位十进制计数器CNT10的ENA使能端进行同步控制。当ENB高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOCK的上跳沿将计数器在前1秒钟的计数值锁存进锁存器74374b中,并由外部的7段译码器译出,显示计数值。设置锁存器的好处是数据显示稳定,不会由于周期性的清0信号而不断闪烁。锁存信号后,必须有一清0信号CLR对计数器进行清零,为下1秒的计数操作作准备。 (3) 实验内容:按照教材181页8.8节的流程,利用Quartus II完成数字频率计的设计编辑和仿真测试等步骤,给出仿真波形。建议选实验电路模式5;6个数码管以10进制形式显示测频输出;待测频率输入F_IN由clock5输入,频率可选32768Hz等;8HZ测频控制信号CLK1HZ可由clock2输入(用跳线选8Hz)。注意,这时6个数码管的测频显示值是10进制的。 (4) 实验内容2:将频率计改为8位10进制频率计,注意此设计电路的计数器必须是8个4位的10进制计数器。此外注意在测频速度上给予优化。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 GW48CP+主系统使用说明 第一节 GW48教学实验系统原理与使用介绍 一、GW48系统使用注意事项 (用户必读!!!) a:闲置不用GW48系统时,必须关闭电源!!! b:在实验中,当选中某种模式后,要按一下右侧的复位键,以使系统进入该结构模式工作。注意此复位键仅对实验系统的监控模块复位,而对目标器件FPGA没有影响,FPGA本身没有复位的概念,上电后即工作,在没有配置前,FPGA的I/O口是随机的,故可以从数码管上看到随机闪动,配置后的I/O口才会有确定的输出电平。 c:换目标芯片时要特别注意,不要插反或插错,也不要带电插拔,确信插对后才能开电源。其它接口都可带电插拔。请特别注意,尽可能不要随意插拔适配板,及实验系统上的其他芯片。 二、GW48系统主板结构与使用方法 以下将详述GW48系列实验系统结构与使用方法,对于这2种型号的不同之处将给予单独指出。该系统的实验电路结构是可控的。即可通过控制接口键,使之改变连接方式以适应不同的实验需要。因而,从物理结构上看,实验板的电路结构是固定的,但其内部的信息流在主控器的控制下,电路结构将发生变化---重配置。这种“多任务重配置”设计方案的目的有3个:1、适应更多的实验与开发项目;2、适应更多的PLD公司的器件;3、适应更多的不同封装的FPGA和CPLD器件。系统板面主要部件及其使用方法说明如下。以下是对GW48系统主板功能块的注释。 (1) “模式选择键”:按动该键能使实验板产生12种不同的实验电路结构。这些结构如第二节的13 张实验电路结构图所示。例如选择了“NO.3”图,须按动系统板上此键,直至数码管“模式指示”数码管显示“3”,于是系统即进入了NO.3 图所示的实验电路结构。 (2) 适配板:这是一块插于主系统板上的目标芯片适配座。对于不同的目标芯片可配不同的适配座。可用的目标芯片包括目前世界上最大的六家FPGA/CPLD厂商几乎所有CPLD、FPGA和所有ispPAC等模拟EDA器件。第七节的表中已列出多种芯片对系统板引脚的对应关系,以利在实验时经常查用。 (3) ByteBlasterMV编程配置口:如果要进行独立电子系统开发、应用系统开发、电子设计竞赛等开发实践活动,首先应该将系统板上的目标芯片适配座拔下(对于Cyclone器件不用拔),用配置的10芯编程线将“ByteBlasterMV”口和独立系统上适配板上的10芯口相接,进行在系统编程(如GWDVP-B板),进行调试测试。“ByteBlasterMV”口能对不同公司,不同封装的CPLD/FPGA进行编程下载,也能对isp单片机89S51等进行编程。编程的目标芯片和引脚连线可参考附图1,从而进行二次开发。 (4)ByteBlasterII编程配置口:该口主要用于对Cyclone系列AS模式专用配置器件EPCS4和EPCS1等编程。 附图1 GW48系统电子设计二次开发信号图 (5) 混合工作电压源:系统不必通过切换即可为CPLD/FPGA目标器件提供5V、3.3V、2.5V、1.8V和1.5V工作电源,此电源位置可参考附图1。 (6)并行下载口:此接口通过下载线与微机的打印机口相连。来自PC机的下载控制信号和CPLD/FPGA的目标码将通过此口,完成对目标芯片的编程下载。计算机的并行口通信模式最好设置成“EPP”模式。 (7)键1~键8 :为实验信号控制键,此8个键受“多任务重配置”电路控制,它在每一张电路图中的功能及其与主系统的连接方式随模式选择键的选定的模式而变,使用中需参照第二节中的电路图。 (8)数码管1~8/发光管D1~D16 :受“多任务重配置”电路控制,它们的连线形式也需参照第二节的电路图。 (9)“时钟频率选择
实验三 中规模组合逻辑电路设计(二)(74LS283加法器应用) 1、用两个4位并行加法器和适当的逻辑门电路实现(X+Y)×Z,其中,X=x2x1x0、Y=y2y1y0、Z=z1z0均为二进制。 2、仅使用2片283实现2位十进制数8421码到二进制码的转换。   实验四 中规模组合逻辑电路设计(一)(74LS138译码器和74LS74152/153应用) 1、  用3-8线译码器74LS138和适当的门电路设计三输入一致性检测电路。 2、  用8选1 多路复用器74LS152实现一个全加器。   实验五 触发器应用 1、用J-K触发器设计一个四分频器(即输出频率为输入频率的1/4)。 2、利用D触发器设计四人抢答电路。四人参加比赛,每人一个按钮,其中最先按下按钮者,相应的指示灯亮;其他人再按按钮不起作用。 实验六时序逻辑电路设计 1、 设计一个模4可逆计数器。 2、 设计一个0011序列检测器。   实验7 中规模时序逻辑电路设计 1、 用74161设计一个模100计数器。 2、 用74194设计一个00011101序列信号发生器。   综合性、设计性实验 1、设计“串行8421BCD码检验器”,当8421BCD码0000~1001输入时,Z=0,非8421BCD码1010~1111输入时,Z=1;由低位到高位串行输入,每四个二进制数码为一组循环工作。 2、设计一个自动售饮料机的逻辑电路。它的投币口每次只能投入一枚五角或一元的硬币。投入一元五角硬币自动给出一杯饮料;投入两元(两枚一元的硬币)硬币后,再给出饮料的同时找回一枚五角硬币。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好梦成真Kevin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值