16位通用移位寄存器设计报告
移位寄存器实验报告

移位寄存器实验报告实验题目:移位寄存器一、实验目的了解移位寄存器的原理,掌握移位寄存器的应用。
二、实验原理移位寄存器是一种存储器件,用于将二进制数据以位为单位进行移位操作。
移位寄存器由若干个D触发器组成,每个D触发器的输出接入下一个D触发器的输入,以此类推,形成了一个环形移位结构。
移位寄存器有三种基本工作模式:串行输入并行输出(SIPO),并行输入串行输出(PISO)和并行输入并行输出(PIPO)。
在SIPO模式下,输入数据串行输入到移位寄存器的最高位,然后逐个向低位移位,最终输出到最低位。
在PISO模式下,输入数据并行输入到移位寄存器的每个位,然后逐个向高位移位,最终输出到最高位。
在PIPO模式下,输入数据并行输入到移位寄存器的每个位,然后逐个向低位移位,最终输出到每个输出端口。
移位寄存器的应用很广泛,其中最常见的是时序信号的处理。
移位寄存器可以用于数字频率合成、序列生成、编码器和解码器等方面。
三、实验设备1. 计算机2. Xilinx ISE14.6软件3. BASYS2开发板4. USB下载器四、实验步骤1. 设计移位寄存器的电路原理图并进行仿真。
2. 在Xilinx ISE14.6软件中创建工程并添加源、约束和测试文件。
3. 将电路原理图转换成Verilog HDL代码。
4. 将Verilog HDL代码综合为综合网表,并进行时序分析。
5. 将综合网表映射到BASYS2开发板上并进行状态机调试。
6. 使用USB下载器将设计好的逻辑文件下载到FPGA上。
7. 连接开发板的输入输出端口,验证移位寄存器的正确性,并观察输出端口结果。
五、实验结果与分析通过移位寄存器的实验,我们学会了如何使用Verilog HDL设计并实现移位寄存器,并对移位寄存器进行了详细的仿真、综合、映射和下载调试。
在实验过程中,我们还学会了串行输入并行输出(SIPO),并行输入串行输出(PISO)和并行输入并行输出(PIPO)三种基本工作模式,掌握了移位寄存器在数字频率合成、序列生成、编码器和解码器等领域中的使用方法。
移位寄存器及其应用实验报告

移位寄存器及其应用实验报告1. 背景在数字电路中,移位寄存器是一种常见的基本电路元件。
它可以将输入数据按照一定规则进行移位操作,并输出处理后的数据。
移位寄存器通常由触发器构成,分为串行移位寄存器和并行移位寄存器。
在实际应用中,移位寄存器常用于数据存储、数据传输、脉冲发生器等方面。
本实验旨在通过设计移位寄存器电路及其应用电路的实验,加深对移位寄存器工作原理的理解,掌握其应用。
2. 实验目的1.了解移位寄存器的基本原理;2.学会设计移位寄存器电路及其应用电路;3.掌握移位寄存器的应用方法。
3. 实验原理与方法3.1 移位寄存器原理移位寄存器将输入数据按照一定规则进行移位操作,并输出处理后的数据。
常见的移位规则包括:左移、右移、循环左移、循环右移等。
移位寄存器通常由触发器构成,触发器的状态决定了寄存器中存储的数据。
本实验主要探究两种常用的移位寄存器:串行移位寄存器和并行移位寄存器。
3.1.1 串行移位寄存器串行移位寄存器中,数据是按照位的顺序逐个进行移位的。
串行移位寄存器可以通过级联多个D触发器实现,每个D触发器的输出与下一个D触发器的输入相连。
3.1.2 并行移位寄存器并行移位寄存器中,数据的位同时进行移位。
并行移位寄存器可以通过级联多个D 触发器实现,每个D触发器的输入都与移位数据的对应位相连。
3.2 实验所用材料与方法3.2.1 材料•移位寄存器芯片•发光二极管(LED)•电路连接线3.2.2 方法1.实验预备:准备实验所需的移位寄存器芯片、LED和电路连接线。
2.按照移位寄存器原理,设计移位寄存器电路并进行布线连接。
3.使用示波器检查电路的正确性。
4.进行实验验证,观察移位寄存器的运行情况,并记录实验结果。
4. 实验结果与分析本实验设计了一个4位串行移位寄存器电路,并进行了验证实验。
首先,按照原理部分的描述,我们选择了一个基于D触发器的4位串行移位寄存器芯片。
通过连接四个D触发器,将其串联起来,即可构成一个4位的串行移位寄存器。
计算机组成原理课程设计报告16位模型机的设计

石家庄经济学院华信学院计算机组成原理课程设计报告计算数据块中所有数据的累加和并存储到内存单元中题目16位模型机的设计姓名学号4114170801班号一班指导老师成绩2014年1月目录一、引言 (3)1.1设计目的 (3)1.2设计任务 (3)二、详细设计及实现 (4)2.1 拟定指令系统 (4)2.2指令格式 (5)2.3寻址方式 (5)三、16位CPU的模型 (7)3.1 各功能部件的VHDL设计 (9)3.2 16位模型机的设计与实现 (22)四、总结 (27)五、参考文献: (27)六、代码 (28)一、引言1.1设计目的为掌握并巩固本学期所学习的计算机组成原理知识,设计本次试验。
运用整合所学的相关知识,一步步设计构造一台基本的模型计算机,明确计算机的控制原理与控制过程,巩固和灵活应用所学的理论知识,掌握计算机组成的一般设计方法,提高学生设计能力和实践操作技能,为从事计算机研制与设计打下基础。
1.2设计任务本机功能:计算数据块中所有数据的累加和并存储到内存单元中。
汇编代码如下:START:MOV SI, OFFSET SRC1 ;源操作数地址送SIMOV DI,OFFSET DXT ;目的操作数地址送DIMOV BX,OFFSET SRC2 ;结束地址送BXMOV BL 0 ;设置BL中初值为0NEXT:MOV AL,[SI] ;取数ADD BL , AL ; 数据相加MOV [DI],AL ;存数CMP SI, BX ;JE START ;如果SI=BX,则转向STARTINC SI ;修改源地址JMP NEXT ;转向NEXT二、详细设计及实现2.1 拟定指令系统分析:1)依据汇编语言程序得出部件间的数据流的方向为●立即数→寄存器●寄存器↔内存内存操作数采用寄存器间址寻址方式●源与目的寄存器内容比较,如果源等于目的转移,转向地址在指令中提供●寄存器加1指令●无条件转移指令,转向地址在指令中提供。
16位通用移位电路

图1 循环右移1位模块图3 循环右移1到16位模块图根据老师上课讲的知识,可以知道此模块节省器件,延迟稍大。
图4 循环右移一位symbol图6 8-n减法器图7 8-n减法器symbol将移位数据选择端S0,S1,S2,S3连接到8-n数据口d0,d1,d2,d3,其中减法器中sel端口是用来选择数据8-n和数据n(S3S2S1S0),即可以用来选择循环左移和右移;将减法器输出数据端口连接到循环右移电路的移位数据选择端实现循环左右移电路。
图8 数据转换电路上图中,输入数据n(IN4 IN3 IN2 IN1),则输出16位数据,其中低n位全为0,高n位数据全为1,例如,输入0010,则输出1111 1111 1111 1100,这个电路可以用来实现逻辑移位和算术移位时的数据转换。
9 数据转换电路symbol逻辑右移数据转换电路算术右移数据转换电路在上图中,首先通过扩展后的16位数据选择器选择转换后的逻辑右移数据和转换后的算术右移数据,sel1控制数据选择,sel1=0时选择逻辑右移数据,sel1=1选择逻辑算术右移数据,输出的16位数据连接到下一个16位数据选择器b端口,a端口接转换后的逻辑/算术左移数据,sel0控制数据选择,sel0=0时选择逻辑/算术左移移数据,sel0=1选择上一级数据选择器输出数据,接着输出后的16位数据再次接到下一级数据选择器的a端口,b端口接原始的16位移位数据A15~A0,sel2控制数据选择。
下面是功能选择的命令控制:sel0 sel1 sel2循环左移 0 任意 1循环右移 1 任意 1逻辑(算术)左移0 任意0逻辑右移 1 0 0算术右移 1 1 0仿真激励设计方案及电路仿真结构2.算术右移sel2 sel1 sel0 S3S2S1S0 A15~A0 Y15~Y00 1 1 0100 1000100101100010 11111000100101104.循环右移sel2 sel1 sel0 S3S2S1S0 A15~A0 Y15~Y01 0 1 1001 1000100101100010 1011000101000100循环左移sel2 sel1 sel0 S3S2S1S0 A15~A0 Y15~Y01 0 0 1100 1000100101100010 0010100010010110从上图中可以看出,电路延迟时间大概为1ns左右,速度较快。
移位寄存器实验报告

移位寄存器实验报告姓名:陈素学号:3120100621 专业:软件工程课程名称:逻辑与计算机设计基础实验同组学生姓名:张闻实验时间:y yyy-mm-dd 实验地点:紫金港东4-509 指导老师:一、实验目的和要求掌握移位寄存器的工作原理及设计方法掌握串、并数据转换的概念与方法了解序列信号在CPU控制器设计中的应用二、实验内容和原理2.1 实验原理带并行置入的移位寄存器移位寄存器:每来一个时钟脉冲,寄存器中的数据按顺序向左或向右移动一位必须采用主从触发器或边沿触发器不能采用电平触发器数据移动方式:左移、右移数据输入输出方式串行输入,串行输出串行输入,并行输出并行输入,串行输出串行输入的移位寄存器使用D触发器,可构成串行输入的移位寄存器2.2 标题<正文>带并行输入的右移移位寄存器数据输入移位寄存器的方式:串行输入、并行输入带并行输入的8位右移移位寄存器module shift_reg(clk, S, s_in, p_in, Q); input wire clk, S, s_in; input wire [7:0] p_in; output wire [7:0] Q; wire [7:0] D; wire nS;FD FDQ0(.C(clk), .D(D[0]), .Q(Q[0])), FDQ1(.C(clk), .D(D[1]), .Q(Q[1])), FDQ2(.C(clk), .D(D[2]), .Q(Q[2])), FDQ3(.C(clk), .D(D[3]), .Q(Q[3])), FDQ4(.C(clk), .D(D[4]), .Q(Q[4])), FDQ5(.C(clk), .D(D[5]), .Q(Q[5])), FDQ6(.C(clk), .D(D[6]), .Q(Q[6])), FDQ7(.C(clk), .D(D[7]), .Q(Q[7]));OR2 D0_L(.I0(L_0), .I1(R_0), .O(D[0])), D1_L(.I0(L_1), .I1(R_1), .O(D[1])), D2_L(.I0(L_2), .I1(R_2), .O(D[2])), D3_L(.I0(L_3), .I1(R_3), .O(D[3])), D4_L(.I0(L_4), .I1(R_4), .O(D[4])),串行输入SD5_L(.I0(L_5), .I1(R_5), .O(D[5])), D6_L(.I0(L_6), .I1(R_6), .O(D[6])), D7_L(.I0(L_7), .I1(R_7), .O(D[7]));并行-串行转换器 没有启动命令时并行-串行转换器ser_out并行输入par_in 移位输入7位并行-串行转换器ser_out并行输入par_in 移位输入7位并行-串行转换器2.1 实验内容用Verilog HDL语言,采用结构化描述方法设计一个8位带并行输入的右移移位寄存器。
计算机组成原理实验报告-寄存器实验

千里之行,始于足下。
计算机组成原理实验报告-寄存器实验计算机组成原理实验报告-寄存器实验》一、实验目的本次实验旨在通过设计和实现一个基本的寄存器,加深对计算机组成原理中寄存器的理解,并掌握寄存器在计算机中的应用。
二、实验设备及软件1. 实验设备:计算机2. 实验软件:模拟器软件Mars3. 实验材料:电路图、线缆、元器件三、实验原理寄存器是计算机的一种重要组成部分,用于存储数据和指令。
一个基本的寄存器通常由一组触发器组成,可以存储多个位的信息。
本实验中,我们需要设计一个16位的寄存器。
四、实验步骤1. 确定寄存器的结构和位数:根据实验要求,我们需要设计一个16位的寄存器。
根据设计要求,选择合适的触发器和其他元器件。
2. 组装寄存器电路:根据电路图,将选择好的元器件按照电路图连接起来。
3. 连接电路与计算机:使用线缆将寄存器电路连接到计算机的相应接口上。
4. 编写程序:打开Mars模拟器软件,编写程序来测试寄存器的功能。
可以编写一段简单的程序,将数据写入寄存器并读取出来,以验证寄存器的正确性。
5. 运行程序并测试:将编写好的程序加载到Mars模拟器中,并运行程序,观察寄存器的输出和模拟器的运行结果。
第1页/共3页锲而不舍,金石可镂。
五、实验结果在本次实验中,我们成功设计和实现了一个16位的寄存器,并进行了相关测试。
经过多次测试,寄存器的功能和性能良好,能够准确地存储和读取数据。
六、实验心得通过本次实验,我对寄存器的结构和工作原理有了更深入的了解。
寄存器作为计算机的一种重要组成部分,起着存储和传输数据的作用。
通过实际操作和测试,我更加清楚了寄存器在计算机中的应用和重要性。
在实验过程中,我遇到了一些问题,如电路连接不稳定、程序错误等,但通过仔细检查和调试,最终解决了这些问题。
这次实验也让我深刻体会到了学习计算机组成原理的重要性,只有深入理解原理并通过实践运用,才能真正掌握计算机的工作原理和能力。
通过这个实验,我有了更深入的认识和理解,对计算机组成原理的学习也更加系统和完整。
EDA创新性实验项目——16位CPU设计

EDA创新性实验项目——16位CPU设计一、项目背景随着计算机科学和技术的不断发展,人们对计算机处理速度和性能的需求也在不断增加。
在这种背景下,为了满足人们对计算速度和性能的需求,研究者们开始将目光投向了新型的CPU设计。
传统的CPU设计多为32位或64位,但这种设计可能会带来一些不必要的复杂性和成本。
因此,设计一种16位CPU成为了当前研究的热点之一二、项目目标本实验项目旨在设计一款16位CPU,以满足轻量级计算需求,并保证其性能和效率。
通过设计一款16位CPU,可以降低处理器的成本和复杂度,提高计算性能,并且更好地满足轻量级计算需求。
三、项目内容1.CPU指令设计:设计新的16位CPU指令集,包括运算指令、数据传输指令、分支跳转指令等,以实现更加高效的计算功能。
2.CPU架构设计:设计16位CPU的整体架构,包括寄存器文件、数据通路、控制单元等,确保CPU的稳定性和高效性。
3.性能优化:对设计的CPU进行性能优化,提高其计算速度和响应速度,确保其在轻量级计算中的高效性。
4.性能评估:通过仿真和实验对设计的16位CPU进行性能评估,检验其计算速度和稳定性,以保证其满足设计需求。
四、项目实施步骤1.设计CPU指令集:根据实际需求设计新的16位CPU指令集,包括指令的格式、操作码和功能,保证其具有高效的计算能力。
2.设计CPU架构:设计16位CPU的整体架构,包括寄存器文件、数据通路和控制单元,确保其能够稳定运行和高效计算。
3.性能优化:对设计的CPU进行性能优化,优化数据通路和控制单元的设计,提高CPU的计算速度和响应速度。
4.实验仿真:通过基于EDA工具进行CPU的设计仿真,检验设计的CPU在不同场景下的计算性能和稳定性。
5.性能评估:对设计的CPU进行性能评估,比较其与传统32位CPU 的性能差异,确保16位CPU在轻量级计算中的优越性。
五、项目成果通过本实验项目的实施,设计一款16位CPU并进行性能评估1.设计一款高效、稳定的16位CPU,满足轻量级计算需求。
移位寄存器实验报告

移位寄存器实验报告移位寄存器实验报告引言移位寄存器是数字电路中常用的模块,它能够将输入的数据按照一定的规则进行移位操作。
本次实验旨在通过实际搭建移位寄存器电路,并通过观察输出结果来验证其功能和性能。
实验目的1. 掌握移位寄存器的工作原理和基本结构;2. 了解不同类型的移位寄存器,并能够根据需求选择合适的类型;3. 熟悉移位寄存器的应用场景和使用方法。
实验器材1. 移位寄存器芯片;2. 电路连接线;3. 示波器;4. 信号发生器。
实验步骤1. 将移位寄存器芯片连接到电路板上,并根据实验要求进行电路连接;2. 使用信号发生器产生输入信号,并将其输入到移位寄存器中;3. 通过示波器观察移位寄存器的输出信号,并记录下观察结果;4. 根据实验要求调整输入信号的频率和幅度,并观察移位寄存器的响应情况;5. 分析实验结果,总结移位寄存器的特性和应用。
实验结果在本次实验中,我们使用了一个4位移位寄存器芯片,并将其连接到电路板上。
通过信号发生器产生的输入信号,我们观察到移位寄存器的输出信号按照一定的规则进行了移位操作。
当输入信号的频率较低时,移位寄存器的输出信号可以清晰地观察到每一位的变化;而当输入信号的频率较高时,移位寄存器的输出信号则呈现出连续的变化。
通过实验结果的观察和分析,我们可以得出以下结论:1. 移位寄存器的工作原理是将输入信号按照一定的规则进行移位操作;2. 移位寄存器的输出信号与输入信号的频率和幅度有关;3. 移位寄存器可以用于数据的平移、扩展、压缩等操作;4. 不同类型的移位寄存器具有不同的特性和应用场景。
讨论与总结移位寄存器作为数字电路中的重要模块,在各种电子设备中都有广泛的应用。
它不仅可以用于数据的移位操作,还可以用于数据的存储、传输和处理。
在计算机系统中,移位寄存器常常用于数据的输入和输出,以及数据的处理和控制。
本次实验通过实际搭建移位寄存器电路,并观察其输出结果,使我们更加深入地了解了移位寄存器的工作原理和应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
再设循环左右移位电路的 16 位输出分别为 Y15Y14Y13Y12Y11Y10Y9Y8Y7Y6Y5Y4Y3Y2Y1Y0,
可以得到如下逻辑: (1) 循环移位\算术\逻辑左移时有 Pout[n]=Yn Dn A`(其中 A`是对 A 求反, 通过移位方式控制端 A、B 控制自定义 4—16 译码电路使得当 AB=00 时 4—16 自定义译码电 路的输入全为 00,这样输出 Dn=1,也即相当于译码电路不起作用;当 AB=01 时,4—16 自 定义译码电路根据移位位数控制输入端进行产生相应的移位调整序列); (2)算术右移时有 Pout[n]=(Y15 Dn+ Yn Dn`)AB`; (3)逻辑右移时有 Pout[n]=(Yn Dn`)AB。 最后,对电路进行修正,使得当控制输入端输入信号 A B LorR=010、101、111 时电路输 出全为 0。 仿真激励设计方案及电路仿真结果 在对设计好的电路进行仿真时, 考虑到该电路的实际应用中不可能工作在频率极高的环 境中,这样的话在仿真时为了能够清楚地分辨结果,可以视 16 位的并行输入为一个固定的输 入。对于移位位数控制输入端,可以用时间间隔为 100ns 的信号进行仿真,这样可以由仿真 结果得出电路的延迟以及竞争冒险的时间。 (1)A B LorR=000,电路功能实现循环右移,仿真结果如下图 4:
(1)在考虑 16 位循环右移电路的设计时,我选择用 74151“8 选 1 数据选择器”配合门电 路进行搭建桶形移位电路, 对于每个输出断对应需要用两片 74151 对 16 位并行输入数据进行 选择,用移位数控制端 S(S3S2S1S0)中的 S3 实现两片 74151 的片选进而将两片 74151 组成 “16 选 1 数据选择器” ,结构如图 1。用 16 个如图 1 的结构这可以构成 16 位输出的循环右移 电路结构框图,如图 2。
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
(图 4) (2)A B LorR=001,电路功能实现循环左移,仿真结果如下图 5:
(图 5)
(3)A B LorR=011,电路功能实现算术\逻辑左移,仿真结果如下图 6:
(图 6) (4)A B LorR=100,电路功能实现算术右移,仿真结果如下图 7:
(图 7)
(5)A B LorR=110,电路功能实现逻辑右移,仿真结果如下图 8:
S3 S2 S1 S0 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
(图 2)
(3) 以 16 位循环右移电路(结构图如上图 2)为核心进行构建多功能移位通用电路(结构 图如下图 3) :
16 位并行输入 Pin
16 位 循 环 右 移 4 位全 加器 74283 位 电 路
移位数控制端 S 移位方式控制端 A、B、LorR
16 位 循 环移位并 行输出
16 位循环左移电路
EMAIL:coollover@
设计题目要求
(1) 设计一个 16 位循环右移电路,S 是移位数,A 是移位前的并 行输入,Y 是移位后的并行输出(在本设计中,我用 Pin 表示 移位前的并行输入, Pout 表示移位后的并行输入, S 表示移位 数) ,要求估算电路占用的资源大小及电路的速度; (2) 以上面设计好的 16 位循环右移电路为核心,扩展设计一个能 进行循环右移、循环左移、算术右移、算术左移、逻辑右移、 逻辑左移的通用移位电路。 设计原理及结构方案
移位数控制端 S
4 位全 加器 74283
自 B、LorR
16 位 译 码序列
循 移 输 信 处 产 最 的 望 出 号
环 位 出 号 理 生 终 期 输 信
16 位自定义 移位并行输 出
根据移位方式产生 所需要的译码序列 (图 3)
电路设计描述 (1)16 位循环右移电路设计: 选择用 2 片 74151“8 选 1 数据选择器”对 16 位并行输入数据根据移位数和所在输出位 置进行选择,作为 Pout[n],例如 Pout[0]对应的第一片 74151 的 D7D6D5D4D3D2D1D0 分别 对应 Pin[7]---Pin[0], 第二片 74151 的 D7D6D5D4D3D2D1D0 分别对应 Pin[15]---Pin[8];再如 Pout[6]对应的第一片 74151 的 D7D6D5D4D3D2D1D0 分别对应 Pin[13]---Pin[6], 第二片 74151 的 D7D6D5D4D3D2D1D0 分别对应 Pin[5]---Pin[0]Pin[15]Pin[14], 按照这样的方式不同的输出 位对应的不同的接线方法就可以根据 S(S3S2S1S0)选择相应的输入数据作为输出 Pout[n]。 (2)扩展为 16 位的循环右移电路: 对于循环移位而言,循环左移 N 位即相当于右移 16-N 位,根据这个原理,在左移 N 位 时就可以将控制端 S(S3S2S1S0)各位分别求反然后加 1 既得 16-N,然后用新产生的移位位 数作为 16 位循环右移电路的移位位数控制端,这样输出就是右移 16-N 位,也即左移 N 位。 (3)将循环左右移位电路扩展为算术左右移位、逻辑左右移位通用电路: 首先,我们知道算术左移是低位移向高位,最低位补“0” ,算术右移是高位移向低位, 最高位保持不变;逻辑左移是低位移向高位,最低位补“0” ,逻辑右移是高位移向低位,最 高位移入“1” 。通过观察我们发现,算术左移和逻辑左移是相同的移位操作,因此扩展时实 际上是扩展为三类:算术\逻辑左移、算术右移、逻辑右移。 其次,对各个扩展移位功能分配移位方式控制信号:A B LorR=000 时进行循环右移;A B LorR=001 时进行循环左移;A B LorR=011 时进行算术\逻辑左移;A B LorR=100 时进行算 术右移;A B LorR=100 时进行逻辑右移。 然后,通过观察发现算术、逻辑移位实际是对循环移位进行相应位的变化而得到。在这 里我们首先设计一个自定义的 4—16 译码器,要求译码器的真值表如下:
1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
16 位并行输入 Pin
74151 16 位并行输出的其中一端 Pout[n]
移位数控制端 S
74151
(图 1)
16 位并行输入 Pin
74151 74151
16 位并行输出端 Pout[0]
移位数控制端 S
16 位并行输入 Pin
74151 16 位并行输出端 Pout[15] 74151
移位数控制端 S
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
(图 8) (6)A B LorR=010、101、111,此三种输入控制信号为违法信号,输出结果应全为 0,仿真 结果如下图 9:
(图 9)
设计总结
在本设计中,采用桶形移位电路,大大降低了电路整体的延迟时间,使的竞争冒险的时 间不大于 10ns,符合工程应用的条件,这是本设计的突出优势。但是,由于采用了桶形移位 电路设计, 所以整体电路用到了 32 片 74151 “8 选 1 数据选择器” 和两片 74283 “4 位全加器” , 使用了将近 300 个不同种类的“门” ,整个电路消耗的硬件资源较多,这是本电路的需要继续 改进的地方。 通过该课程设计,进一步理解了集成电路的设计程序、方法技巧,但是由于大规模集成 电路内部较为复杂,排线极容易出错而且不容易排查出错误所在,由于设计完成的电路需要 对可能的输入结果进行逐一验证,然后对验证不符的情况对电路进行修改,这也是本设计后 期过程中最耗费时间的地方。