用JKFF触发器设计一个模为8的加法计数器
实验三 异步模8加1计数器
实验三异步模8加1计数器
实验目的:1.熟练掌握脉冲异步时序电路的设计方法
2.加深对异步时序电路的理解
3.掌握计数器的设计原理
实验条件:
1.操作系统为WINDOWS 2000的计算机一台
2.Multisim 2001电子线路仿真软件一套
实验组件:1.二输入四与非门 74LS08 1片
2.双JK触发器 74LS73 2片
实验内容:
用J-K储发器作为存储元件设计一个异步模8加1计数器,该电路对输入端X出现的脉冲进行计数,当收到第8个脉冲时,输出端Z产生一个进位输出脉冲。
实验要求:
1.脉冲由方波发生器(5V /1KHZ)提供,也可用开关的闭合表示1次脉冲。
2.74LS73的CLR端必须接V CC。
3. 根据实验内容,写出设计过程,列出真值表、逻辑函数式,在Multisim 2001中画出逻辑图,并用逻辑分析仪测试结果。
下周三交实验报告。
附:1.74LS73芯片引脚图和JK触发器逻辑符号
2. 74LS08管脚图。
实验一、8位加法器的设计
E D A技术实验报告题目实验一、8位加法器的设计学生姓名学号10100140所在学院物理与电信工程学院专业班级物理101班一、实验原理基本原理:调用库(USE IEEE.STD_LOGIC_ARITH.ALL)直接进行算术运算,以实现加法器功能,从而不用去编写全加器,即程序尽量简单化。
并用函数CONV_INTEGER(D)把输入的8位二进制数转换成整形数,再相加以十进制数在数码管上显示出来。
加法信号由(ST)控制,ST接一个正脉冲信号,当来一个下降沿时,就读进第一个8位二进制数,再来一个下降沿时就执行加法功能,前后两个8位二进制数相加。
进程process (p)就是把三位十进制数的百位、十位、各位分别取出来,再转换成4位逻辑位矢量。
一个简单加法器,能够实现加法运算并显示结果,在按键控制下,由开关变量以二进制(不超过8位)的形式送入加数和被加数,但必须以十进制的形式显示,按下加法按键后,以十进制方式显示结果。
根据要求首先加法器中必须有二进制(8位)转换成十进制电路,其次加法器中需要用开关变量来控制加数和被加数的输入,再次输入的二进制加数和被加数必须经过转换成十进制后显示,最后加法完成结果以十进制显示。
其二进制(8位)全为1时转换成十进制表示为255,先设三位分别表示十进制数的百位、十位和个位。
将二进制数分别减去100的二进制数,循环直至二进制数小于100,百位循环一次加一,根据同样的道理得出十位和个位。
加数和被加数的输入和显示,利用高低电平控制显示器,当电平为高电平时显示加数和被加数的和,利用选择器来分别选择输出显示,当低电平时分别显示输入的二进制加数和被加数。
加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。
多位加法器的构成有两种方式:并行进位和串行进位。
并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。
并行进位加法器通常比串行级联加法器占用更多的资源。
计算机组成原理实验报告-八位补码加减法器的设计与实现
计算机科学与技术学院计算机组成原理实验报告书实验名称八位补码加/减法器的设计与实现班级学号姓名指导教师日期成绩实验1八位补码加/减法器的设计与实现一、实验目的1.掌握算术逻辑运算单元(ALU)的工作原理。
2.熟悉简单运算器的数据传送通路。
3.掌握8位补码加/减法运算器的设计方法。
4.掌握运算器电路的仿真测试方法二、实验任务1.设计一个8位补码加/减法运算器(1)参考图1,在QUARTUS II里输入原理图,设计一个8位补码加/减法运算器。
(2)创建波形文件,对该8位补码加/减法运算器进行功能仿真测试。
(3)测试通过后,封装成一个芯片。
2.设计8位运算器通路电路参考下图,利用实验任务1设计的8位补码加/减法运算器芯片建立运算器通路。
3.利用仿真波形,测试数据通路的正确性。
设定各控制信号的状态,完成下列操作,要求记录各控制信号的值及时序关系。
(1)在输入数据IN7~IN0上输入数据后,开启输入缓冲三态门,检查总线BUS7~BUS0上的值与IN0~IN7端输入的数据是否一致。
(2)给DR1存入55H,检查数据是否存入,请说明检查方法。
(3)给DR2存入AAH,检查数据是否存入,请说明检查方法。
(4)完成加法运算,求55H+AAH,检查运算结果是否正确,请说明检查方法。
(5)完成减法运算,分别求55H-AAH和AAH-55H,检查运算结果是否正确,请说明检查方法。
(6)求12H+34H-56H,将结果存入寄存器R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。
三、实验要求(1)做好实验预习,掌握运算器的数据传送通路和ALU的功能特性。
(2)实验完毕,写出实验报告,内容如下:①实验目的。
②实验电路图。
③按实验任务3的要求,填写下表,以记录各控制信号的值及时序关系。
表中的序号表示各控制信号之间的时序关系。
要求一个控制任务填一张表,并可用文字对有关内容进行说明。
⑤实验体会与小结。
四、实验预习内容1.实验电路设计原理及思路说明本实验利用基本逻辑门电路设计一位全加器(FA),如表1:加法又可以实现减法,所以使用了一个M输入来进行方式控制加减。
8位串行进位加法器
8位串行进位加法器实验报告一、实验目的使对quartus II的使用进行初步的了解,对于一些芯片的组合应用更加掌握。
二、实验内容设计8位串行进位加法器用半加器设计一个全加器元件,然后根据图4-38,在顶层设计中用8个1位全加器构成8位串行进位加法器。
给出时序仿真波形并说明之、引脚锁定编译、编程下载于FPGA中进行硬件测试。
完成实践报告。
三、实验步骤及各步结果1、分析8位串行全加器的层次结构2、半加器3、一位全加器output S,CO;wire S1,D1,D2;halfadder HA1(S1,D1,A,B);halfadder HA2(S,D2,S1,CI);or g1(CO,D2,D1);endmodule//8-bit full addermodule _8bit_adder(S,C7,A,B,C_1);input[7:0]A,B;input C_1;output [7:0]S;output C7;wire C0,C1,C2,C3,C4,C5,C6,C7;fulladderFA0(S[0],C0,A[0],B[0],C_1),FA1(S[1],C1,A[1],B[1],C0),FA2(S[2],C2,A[2],B[2],C1),FA3(S[3],C3,A[3],B[3],C2),FA4(S[4],C4,A[4],B[4],C3),FA5(S[5],C5,A[5],B[5],C4),FA6(S[6],C6,A[6],B[6],C5),FA7(S[7],C7,A[7],B[7],C6);endmodule4、软件使用(1)、新建一个工程,工程名为_8bit_adder(2)、新建一个Verilog HDL File文件并写入程序代码(3)、对写完的代码进行编译,发现没有错误(4)、新建一个波形文件(5)、新建(6)、插入程序后双击输入数值进行数据的输入(7)、输入相应的值(8)、仿真出来的结果(9)、按时序给输入端输入不同的数据(10)、继续仿真,波形如图(11)、时序仿真(12)、放大后这里出现了冒险竞争。
8位二进制加法计算器
一:本实验设计的是一个8为二进制加法计算器,其功能就是对两个八位的二进制数执行加法运算,并可以异步清零。
二:电路可划分为三部分:半加器、全加器和复位电路。
1、半加器:真值表a b so co0 0 0 00 1 1 01 0 1 01 1 0 1电路图2全加器:由半加器和或门组成电路图3复位电路:复位电路通过en控制,当en为‘1’时,执行加法运算,输出正确的值,当en为‘0’时,输输出及结果为全0.三:实验波形仿真和VHDL1、仿真图:2、VHDL代码1)半加器h_adder:library ieee;use ieee.std_logic_1164.all;entity h_adder isport (a,b :in std_logic;co,so :out std_logic);end entity h_adder;architecture fh1 of h_adder isbeginso <= not(a xor (not b));co <= a and b ; end architecture fh1;2)或门or2a:library ieee;use ieee.std_logic_1164.all;entity or2a isport (a,b :in std_logic;c: out std_logic);end entity or2a;architecture one of or2a isbeginc <= a or b ;end architecture one;3)全加器f_adder:library ieee;use ieee.std_logic_1164.all;entity f_adder isport (ain,bin,cin:in std_logic;cout,sum:out std_logic);end entity f_adder;architecture fd1 of f_adder iscomponent h_adderport (a,b :in std_logic;co,so :out std_logic);end component;component or2aport (a,b :in std_logic;c: out std_logic);end component;signal d,e,f: std_logic;beginu1:h_adder port map(a=>ain,b=>bin,co=>d,so=>e);u2:h_adder port map(a=>e,b=>cin,co=>f,so=>sum);u3: or2a port map(a=>d,b=>f,c=>cout);end architecture fd1;4)与门and2a:library ieee;use ieee.std_logic_1164.all;entity and2a isport (a,b :in std_logic;c: out std_logic);end entity and2a;architecture one of and2a isbeginc <= a and b ;end architecture one;5)顶层设计文件library ieee;use ieee.std_logic_1164.all;entity zong isport (a1,a2,a3,a4,a5,a6,a7,a8,b1,b2,b3,b4,b5,b6,b7,b8,en :in std_logic;solution1,solution2,solution3,solution4,solution5,solution6,solution7,solution8,solution9 :out std_logic );end entity zong;architecture fh1 of zong iscomponent h_adderport (a,b :in std_logic;co,so :out std_logic);end component;component f_adderport (ain,bin,cin:in std_logic;cout,sum:out std_logic);end component;component and2aport (a,b :in std_logic;c: out std_logic);end component;signale2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19,e20,e21,e22,e23,e24 :std_logi c;beginu1:and2a port map(a=>en,b=>a1,c=>e2);u2:and2a port map(a=>en,b=>a2,c=>e3);u3:and2a port map(a=>en,b=>a3,c=>e4);u4:and2a port map(a=>en,b=>a4,c=>e5);u5:and2a port map(a=>en,b=>a5,c=>e6);u6:and2a port map(a=>en,b=>a6,c=>e7);u7:and2a port map(a=>en,b=>a7,c=>e8);u8:and2a port map(a=>en,b=>a8,c=>e9);u9:and2a port map(a=>en,b=>b1,c=>e10);u10:and2a port map(a=>en,b=>b2,c=>e11);u11:and2a port map(a=>en,b=>b3,c=>e12);u12:and2a port map(a=>en,b=>b4,c=>e13);u13:and2a port map(a=>en,b=>b5,c=>e14);u14:and2a port map(a=>en,b=>b6,c=>e15);u15:and2a port map(a=>en,b=>b7,c=>e16);u16:and2a port map(a=>en,b=>b8,c=>e17);u17:h_adder port map(a=>e2,b=>e10,co=>e18,so=>solution1);u18:f_adder port map(ain=>e3,bin=>e11,cin=>e18,cout=>e19,sum=>solution2);u19:f_adder port map(ain=>e4,bin=>e12,cin=>e19,cout=>e20,sum=>solution3);u20:f_adder port map(ain=>e5,bin=>e13,cin=>e20,cout=>e21,sum=>solution4);u21:f_adder port map(ain=>e6,bin=>e14,cin=>e21,cout=>e22,sum=>solution5);u22:f_adder port map(ain=>e7,bin=>e15,cin=>e22,cout=>e23,sum=>solution6);u23:f_adder port map(ain=>e8,bin=>e16,cin=>e23,cout=>e24,sum=>solution7);u24:f_adder port map(ain=>e9,bin=>e17,cin=>e24,cout=>solution9,sum=>solution8);end architecture fh1;。
8位全加器的设计
二、实验原理:一个8位全加器可以由2个4位全加器构成,加法器间的进位可以用串行方式实现,即将低位加法器的进位输出与相临的高位加法器的低进位输入信号相接。
4位全加器采用VHDL语言输入方式进行设计,将设计的4位全加器变成一个元件符号,在8位全加器的设计中进行调用。
三、实验内容和步骤:1. 采用VHDL语言输入方式设计4位全加器(1)打开QuartusII,执行File|New,在New窗口中的Device Design Files 中选择VHDL Files,然后在VHDL文本编译窗中输入程序。
执行File|Save As,找到已设立的文件夹,存盘文件名应该与实体名一致。
(2)将设计项目设置成可调用的元件选择File→create/update→create symbol Files for current file命令,将转换好的元件存在当前工程的路径文件夹中。
2.采用原理图输入方式设计8位全加器(1)打开QuartusII,执行File|New,选择block diagram/schematic file,在原理图编辑窗口中连接好8位全加器电路图(注意元件的调用),存盘。
(2)创建工程:执行File|New Project Wizard,选择目标芯片。
(3)编译:执行Processing|Start Compilation命令,进行编译。
(4)引脚锁定:在菜单Assignments中选Assignments Editor按钮,先单击右上方的Pin,再双击下方最左栏的“New”选项,弹出信号名栏,锁定所有引脚,进行编译,存盘。
选择编程模式1,键2、键1输入8位加数,键4、键3输入8位被加数,键8输入进位cin,数码管6/5显示和,D8显示进位cout。
5. 编程下载及验证:执行Tool|Programmer命令,选择program/config;执行start,进行验证,记录结果。
4位全加器的参考源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder4b ISPORT(cin:IN STD_LOGIC;a,b:IN STD_LOGIC_VECTOR(3 DOWNTO 0);s:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);cout:OUT STD_LOGIC);END ENTITY adder4b;ARCHITECTURE art OF adder4b ISSIGNAL sint,aa,bb:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINaa<='0'&a;bb<='0'&b;sint<=aa+bb+cin;s<=sint(3 downto 0);cout<=sint(4);END art;触发器功能的模拟实现三、实验内容:基本RS触发器、同步RS触发器、集成JK触发器和D触发器同时集成在一个芯片上,实现的原理图如下:输入信号Sd、Rd对应的管脚接按键开关,CLK1、CLK2接时钟源(频率<5Hz);J,K,D,R,S对应的管脚分别接拨码开关;输出信号QRS,NQRS,QRSC,NQRSC,QJK,NQJK,QD,NQD对应管脚分别接LED灯。
8位超前进位加法器
【verilog】8位超前进位加法器2010-12-22 21:16这是我的32位超前进位加法器的一部分。
其中的一个模块,一个8位的超前进位加法器。
我的32位的超前进位加法器是将4个模块再进行超前进位加法实现的。
也就是second level carry-lookahead adder:以下的代码就是上面的block0到block3。
代码://Written by alexyangfox#module eight_bit_unit(A,B,c0,G_level,PG_level,carry,sum);input [7:0] A; //加数Ainput [7:0] B; //加数Binput c0; //输入的进位c0 (Carry 0)output [7:0] sum; //输出和output G_level,PG_level,carry; //产生的极间PG(propagate)和G(generate)//因为我这里想要的是做2级超前进位加法器//一个32位的超前进位加法器由4个八位的超前进位加法器组成//然后四个加法器又被当作独立的模块,四个加法器再超前进位一次形成第二级wirepg0,pg1,pg2,pg3,pg4,pg5,pg6,pg7,g0,g1,g2,g3,g4,g5,g6,g7,c0,c1,c2,c3,c4,c5,c6,c7,c8;wire G_level,PG_level,carry;//全部 PG的计算(propagate)//有的人将PG定义为: PG=A + B//而我在此处使用通常定义: PG = A xor B//由于有这样的关系 A + B = (A xor B) + AB//但是AB已经在Gernerate中:C_n=Generator_(n-1) + Propagate_(n-1)*C_(n-1)//PG 和 G只是用来计算进位数的,所以使用哪种PG的定义并没有影响//在实际电路中,若使用PG=A+B的方案,还可以减少晶体管的使用//well,sth interesting :XOR is not "exclusive or" (nor),it's //"exclusive disjunction or"assign pg0=A[0]^B[0];assign pg1=A[1]^B[1];assign pg2=A[2]^B[2];assign pg3=A[3]^B[3];assign pg4=A[4]^B[4];assign pg5=A[5]^B[5];assign pg6=A[6]^B[6];assign pg7=A[7]^B[7];//计算所有的 Generate (G)assign g0=A[0] & B[0];assign g1=A[1] & B[1];assign g2=A[2] & B[2];assign g3=A[3] & B[3];assign g4=A[4] & B[4];assign g5=A[5] & B[5];assign g6=A[6] & B[6];assign g7=A[7] & B[7];//进位产生器//公式:C_n=Generator_(n-1) + Propagate_(n-1)*C_(n-1)//c1=g0 + pg0*c0assign c1=g0|( pg0 & c0);//c2=g1+ pg1*g0 + pg1*pg0*c0assign c2=g1|( pg1 & g0)|( pg1 & pg0 & c0);//c3=g2+ pg2*g1+ pg2*pg1*g0 + pg2*pg1*pg0*c0assign c3=g2|( pg2 & g1)|( pg2 & pg1 & g0)|( pg2 & pg1 & pg0 & c0);//c4= g3 + pg3*g2+ pg3*pg2*g1+ pg3*pg2*pg1*g0// + pg3*pg2*pg1*pg0*c0assign c4=g3|(pg3 & g2)|(pg3 & pg2 & g1)|( pg3 & pg2 & pg1 & g0)|(pg3 & pg2 & pg1 & pg0 & c0);//c5= g4 + pg4*g3 + pg4*pg3*g2+ pg4*pg3*pg2*g1// + pg4*pg3*pg2*pg1*g0 + pg4*pg3*pg2*pg1*pg0*c0assign c5=g4|( pg4 & g3)|( pg4 & pg3 & g2)|( pg4 & pg3 & pg2 & g1)|( pg4& pg3 & pg2 & pg1 & g0)|( pg4 & pg3 & pg2 & pg1 & pg0 & c0);//c6=g5 + pg5*g4 + pg5*pg4*g3 + pg5*pg4*pg3*g2// + pg5*pg4*pg3*pg2*g1 + pg5*pg4*pg3*pg2*pg1*g0// + pg5*pg4*pg3*pg2*pg1*pg0*c0assign c6=g5|( pg5 & g4)|( pg5 & pg4 & g3)|( pg5 & pg4 & pg3 & g2)|( pg5 & pg4 & pg3 & pg2 & g1)|( pg5 & pg4 & pg3 & pg2 & pg1 & g0)|( pg5 & pg4 & pg3 & pg2 & pg1 & pg0 & c0);//c7=g6 + pg6*g5 + pg6*pg5*g4 + pg6*pg5*pg4*g3 + pg6*pg5*pg4*pg3*g2// + pg6*pg5*pg4*pg3*pg2*g1 + pg6*pg5*pg4*pg3*pg2*pg1*g0// + pg6*pg5*pg4*pg3*pg2*pg1*pg0*c0assign c7=g6|( pg6 & g5)|( pg6 & pg5 & g4)|( pg6 & pg5 & pg4 & g3)|( pg6 & pg5 & pg4 & pg3 & g2)|( pg6 & pg5 & pg4 & pg3 & pg2 & g1)|( pg6 & pg5 & pg4 & pg3 & pg2 & pg1 & g0)|( pg6 & pg5 & pg4 & pg3 & pg2 & pg1 & pg0 & c0);//c8=g7 + pg7*g6 + pg7*pg6*g5 + pg7*pg6*pg5*g4 + pg7*pg6*pg5*pg4*g3 +pg7*pg6*pg5*pg4*pg3*g2// + pg7*pg6*pg5*pg4*pg3*pg2*g1 + pg7*pg6*pg5*pg4*pg3*pg2*pg1*g0//+ pg7*pg6*pg5*pg4*pg3*pg2*pg1*pg0*c0assign c8=g7|(pg7 & g6)|(pg7 & pg6 & g5)|(pg7 & pg6 & pg5 & g4)|(pg7 & pg6 & pg5 & pg4 & g3)|(pg7 & pg6 & pg5 & pg4 & pg3 & g2)|(pg7 & pg6 & pg5 & pg4 & pg3 & pg2 & g1)|(pg7 & pg6 & pg5 & pg4 & pg3 & pg2 & pg1 & g0)|(pg7 & pg6 & pg5 & pg4 & pg3 & pg2 & pg1 & pg0 & c0);//这句写成:c8=G_level|(pg7 & pg6 & pg5 & pg4 & pg3 & pg2 & pg1 & pg0 & c0);会减少器件使用,但是会增加延迟?//极间超前进位信号G_level和PG_level的产生//Actually I am building a two_level carry look ahead adder.//回顾上面C8的计算公式,将它拆解成两部分://C8=G_level + C0*PG_level//于是,我们很容易得到这个://G_level=item0+item1+...+item7//PG_level=pg7*pg6*pg5*pg4*pg3*pg2*pg1*pg0assign PG_level=pg7 & pg6 & pg5 & pg4 & pg3 & pg2 & pg1 & pg0;assign G_level=g7|(pg7 & g6)|(pg7 & pg6 & g5)|(pg7 & pg6 & pg5 & g4)|(pg7 & pg6 & pg5 & pg4 & g3)|(pg7 & pg6 & pg5 & pg4 & pg3 & g2)|(pg7 & pg6 & pg5 & pg4 & pg3 & pg2 & g1)|(pg7 & pg6 & pg5 & pg4 & pg3 & pg2 & pg1 & g0);//the parts above explains the term "Carry look_ahead"//计算输出结果//两个异或门(Xor GAtes)assign sum[0]=A[0] ^ B[0] ^ c0;assign sum[1]=A[1] ^ B[1] ^ c1;assign sum[2]=A[2] ^ B[2] ^ c2;assign sum[3]=A[3] ^ B[3] ^ c3;assign sum[4]=A[4] ^ B[4] ^ c4;assign sum[5]=A[5] ^ B[5] ^ c5;assign sum[6]=A[6] ^ B[6] ^ c6;assign sum[7]=A[7] ^ B[7] ^ c7;assign carry=c8;endmodule。
八位二进制加法计数器设计
八位二进制加法计数器设计目录一、设计目的和要求 (1)1.课程设计目的 (1)2.课程设计的基本要求 (1)3.课程设计类型 (1)二、仪器和设备 (1)三、设计过程 (1)1.设计内容和要求 (1)2.设计方法和开发步骤 (2)3.设计思路 (2)4.设计难点 (4)四、设计结果与分析 (4)1.思路问题以及测试结果失败分析 (4)2.程序简要说明 (5)五、心得体会 (11)六、参考文献 (12)一、设计目的和要求1.课程设计目的设计一个带进位的八位二进制加法计数器:要求在MAX+plusⅡ10.2软件的工作平台上用VHDL语言层次设计出一个带进位的八位二进制加法器,并通过编译及时序仿真检查设计结果。
2.课程设计的基本要求全加器与带进位输入8位加法器设计要求我们通过8位全加器的设计掌握层次化设计的方法,充分理解全加器的设计过程,掌握一位全加器的程序,熟悉MAX+plusⅡ10.2软件的文本和原理图输入方法设计简单组合电路。
课程设计过程中要求能实现同步和异步的八位二进制全加器的设计。
3.课程设计类型EDA课程设计二、仪器和设备PC机、MAX+plusⅡ10.2软件三、设计过程1.设计内容和要求方法一:1.原理图输入完成半加器和1位全加器的设计,并封装入库2.层次化设计,建立顶层文件,由8个1位全加器串联构成8位全加器3.每一层次均需进行编译、综合、适配及仿真方法二:1. 原理图输入完成一个四位全加器的设计2.层次化设计,建立顶层文件,由2个4位全加器串联构成8位全加器3.每一层次均需进行编译、综合、适配及仿真2.设计方法和开发步骤加法器是数字系统中的基本逻辑器件。
例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。
但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。
多位加法器的构成有两种方式:并行进位和串行进位方式。
并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。
本科论文设计-同步八进制加法计数器版图设计与实现
同步八进制加法计数器版图设计与实现摘要21世纪是电子信息产品高速发展的时代。
如计算机、手机等电子信息产业的高速发展推动了集成电路产业的快速发展。
集成电路电子器件也越来越引起人们越的关注。
如手机、电脑中的大规模集成电路也在日常生活中有着广泛的应用。
本文首先介绍同步八进制加法器原理图设计,并采用传统的时序逻辑电路的设计方法,列出状态转换表、化简状态方程、由状态方程求出驱动方程、再由驱动方程画出时序逻辑电路等。
并介绍基于JK触发器来设计八进制加法计数器的设计和实现方法,并通过HSPICE工具进行了仿真。
其次介绍Linux境下CALIBRE工具的使用介绍,并重介绍同步八进制加法计数器版图设计,分析同步八进制加法计数器的组成结构及其工作原理。
通过电路图绘制出它的版图,并对它的版图与电路图进行了一致性检测,进一步验证了设计的正确性。
本设计对最终设计出的版图使用CALIBRE验证工具进行LVS、DRC及PEX等全面的验证,并顺利通过验证完成最终八进制加法计数器版图设计。
关键字:版图设计,计数器,DRC,LVSSynchronization Octal Up CounterLayout designand implementationAbstractThe 20th century is the era of rapid development of the IC, he blooming development of Computer and phone Science has led to the growth of integrated circuit (IC) devices. IC electronic devices also will be attracted more and more attention.Such as mobile phones, computers,most of the V ery Large Scale IC applications.This paper first introduces the synchronization octal adder schematic design, the traditional design methods and the use of sequential logic circuits, lists state transition tables, simplifying the equation of state, driven by a state equation, equations, and then draw the equation driven by sequential logic circuits.And describes the design and implementation of the design based on JK flip-flop octal addition to the counter, and simulated by HSPICE tools. Secondly, it introduces the Linux environment using CALIBRE tools introduced andre-introduced synchronous counter octal addition layout design, analysis synchronous counter octal addition the composition structure and working principle. Schematic drawing out through its territory, and its layout and schematics were consistency checking, further validate the correctness of the design.In the end, this design carried LVS and DRC and PEX of verification to the landscape used CALIBRE verification tool that finally designs and passed a verification smoothly.And V alidated successfully complete the final addition octal counter layou.Key words: Layout design, Counter, DRC,LVS目录摘要 (I)ABSTRACT (II)第1章绪论 (1)1.1课题研究背景与意义 (1)1.1.1 我国集成电路发展状况 (1)1.1.2 课题分析 (2)第2章关键技术介绍 (3)2.1版图设计流程: (3)2.2设计规则 (3)2.3版图的整体布局 (4)2.4HSPICE仿真软件介绍 (4)2.4.1 HSPICE的输入与输出文件 (4)2.4.2 HSPICE 仿真工具菜单项的选项卡功能及快捷键介绍 (5)第3章同步八进制加法计数器原理图设计及仿真 (7)3.1同步八进制加法计数器的原理图设计 (7)3.2晶体管级D触发器原理图 (9)3.4晶体管级同步八进制加法计数器原理图 (11)3.5同步八进制加法计数器及触发器仿真 (12)3.5.1 D触发器仿真波形图 (12)3.5.2 JK触发器仿真波形图 (12)3.5.3 同步八进制加法计数器仿真波形图 (13)第4章CALIBRE 工具的使用及版图绘制 (14)4.1CALIBRE软件介绍 (14)4.2CALIBRE DRC介绍 (14)4.3CALIBRE LVS介绍 (15)4.4CALIBRE工具的使用 (16)4.4.1 创建Layout (16)4.4.2 层选择窗的设置 (17)4.4.3 版图编辑窗的设置 (17)4.4.4 版图编辑窗的设置 (18)4.5同步八进制加法计数器版图及单元模块版图绘制 (19)4.5.1 版图设计的基本规则 (19)4.5.2 D触发器版图设计 (20)4.5.3 JK触发器版图设计 (21)4.5.4 同步八进制加法计数器版图设计 (21)第5章DRC验证和L VS验证及后仿真 (22)5.1DRC实例分析 (22)5.2L VS(版图和电路图一致性比较) (25)5.3寄生参数抽取PEX及HSPICE后仿真 (28)5.3.1 寄生参数抽取 (28)5.3.2 HSPICE 后仿真 (28)第7章结论 (31)参考文献 (32)致谢 (33)附录A (34)附录B (35)第1章绪论1.1 课题研究背景与意义人类社会的发展已经进入了信息时代,各种信息技术构成了信息时代的基础。
原题目:实现一个8位全加器电路。
原题目:实现一个8位全加器电路。
实现一个8位全加器电路介绍本文档旨在说明如何实现一个8位全加器电路。
全加器电路是一种用于对两个二进制数进行加法运算的电路。
原理全加器电路由三个输入和两个输出组成。
输入包括两个二进制数位和一个进位位,输出为一个和位和一个进位位。
全加器电路的逻辑如下:- 和位的输出等于输入位和进位位的异或结果- 进位位的输出等于输入位和进位位的与运算结果以及输入位间的或运算结果实现要实现一个8位全加器电路,需要按照以下步骤进行:1. 首先,确定所需的器件和元件。
一个全加器电路通常由逻辑门和触发器构成。
逻辑门可以使用与门、或门、异或门等。
触发器可以使用D触发器、JK触发器等。
2. 根据所需的功能和规格,选择适合的逻辑门和触发器。
3. 依照全加器电路的原理,设计电路图。
将逻辑门和触发器按照一定的连接方式进行连接,满足和位和进位位的运算要求。
4. 制作电路板并连接电路。
根据设计的电路图,将所选的逻辑门和触发器按照正确的接线方式进行连接。
5. 进行电路测试。
使用适当的输入信号(两个二进制数位和一个进位位),检查和位和进位位的输出是否符合预期的结果。
6. 优化电路。
根据测试结果,如果电路效果不好或未能达到预期的输出结果,可以尝试优化电路的设计,调整逻辑门和触发器等元件的选择,重新布线等。
7. 验证电路的正确性。
通过多次测试,确保电路能够稳定地进行加法运算,输出正确的和位和进位位。
结论通过以上步骤,我们可以成功实现一个8位全加器电路。
全加器电路在计算机系统中扮演重要的角色,用于进行二进制数的加法运算。
由JK触发器组成的4位异步二进制加法计数器
由JK触发器组成的4位异步二进制加法计数器必须满足二进制加法原则:逢二进一(1+1=10,即Q由1加1→0时有进位);各触发器应满足两个条件:每当CP有效触发沿到来时,触发器翻转一次,即用T′触发器。
控制触发器的CP端,只有当低位触发器Q由1→0(下降沿)时,应向高位CP端输出一个进位信号(有效触发沿),高位触发器翻转,计数加1。
由JK触发器组成4位异步二进制加法计数器。
①逻辑电路JK触发器都接成T′触发器,下降沿触发。
图1 由JK触发器组成的4位异步二进制加法计数器(a)逻辑图;(b)工作波形②工作原理异步置0端上加负脉冲,各触发器都为0状态,即Q3Q2Q1Q0=0000状态。
在计数过程中,为高电平。
只要低位触发器由1状态翻到0状态,相邻高位触发器接收到有效CP触发沿,T′的状态便翻转。
③状态转换顺序表如下表所示。
电路为十六进制计数器。
④工作波形(又称时序图或时序波形)如图1所示.输入的计数脉冲每经一级触发器,其周期增加一倍,即频率降低一半。
一位二进制计数器就是一个2分频器,16进制计数器即是一个16分频器。
四位二进制加法计数器状态转换顺序表:计数顺序计数器状态Q3 Q2 Q1 Q0123456789101112131415160 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 00 1 1 11 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 10 0 0 0图2为由D触发器组成的4位异步二进制加法计数器的逻辑图。
由于D触发器用输入脉冲的上升沿触发,因此,每个触发器的进位信号由端输出。
其工作原理与上类似。
图2 由D触发器组成的4位异步二进制加法计数器。
8位加法器电路设计全加器设计word格式word格式
项目四8位加法器电路设计1.实训目标1)通过8位加法器的设计,掌握组合逻辑电路的设计方法。
2)分别使用原理图和文字编辑的方法实现8位加法器的设计,通过电路的仿真和硬件验证,进一步掌握原理图设计与文本设计的过程。
2.实训步骤1)采用原理图编辑法,采用Altera MAX+PLUS II的MF函数里面调用8位全加器宏函数8fadd实现电路设计。
编程器件型号选择ACE1k系列的EP1K30TC144-3。
完成项目编辑及功能仿真。
2)采用文本编辑法,即利用VHDL语言描述8位加法器,4位加法器的参考代码如下。
然后对其进行编译,编程器件型号选择ACE1k系列的EP1K30TC144-3,完成程序仿真,记录仿真数据。
3)由两个并行的4位加法器级联而成。
选用原理图编辑发或者文本编辑法实现8位全加器电路。
并通过仿真验证。
3.实训数据1)原理图编辑法设计的8位加法器的电路。
2)原理图编辑法仿真结果。
简述仿真波形的意义。
A[8..1]B[8..1]—输出端Cout—进位端3)步骤2、步骤3选做一种,记录电路图或程序。
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder8bit isport(cin:in std_logic;a,b:in std_logic_vector(7 downto 0);s:out std_logic_vector(7 downto 0);cout:out std_logic);end adder8bit;architecture beh of adder8bit issignal sint:std_logic_vector(8 downto 0);signal aa,bb:std_logic_vector(8 downto 0);beginaa<='0'&a(7 downto 0);--bb<='0'&b(7 downto 0);sint<=aa+bb+cin;s(7 downto 0)<=sint(7 downto 0);cout<=sint(8);end beh;4)对设计的8位全加器进行仿真验证,记录仿真结果。
8位加法器设计课程设计
8位加法器设计课程设计一、课程目标知识目标:1. 学生能理解8位加法器的原理与功能,掌握其基本组成结构。
2. 学生能运用所学知识,设计并搭建一个简单的8位加法器电路。
3. 学生了解二进制加法运算的规则,以及与8位加法器的联系。
技能目标:1. 学生通过动手实践,提高电路搭建和调试的能力。
2. 学生培养运用电子元件解决问题的能力,提高创新意识和实际操作技能。
情感态度价值观目标:1. 学生对电子技术产生兴趣,增强学习积极性。
2. 学生在团队协作中培养沟通能力,学会分享和互助。
3. 学生通过课程学习,认识到科技发展对国家和社会的重要性,树立正确的价值观。
课程性质:本课程属于电子技术领域,以实践操作为主,理论讲解为辅。
学生特点:八年级学生对电子元件有一定了解,具备基本电路知识,好奇心强,喜欢动手实践。
教学要求:结合学生特点,注重实践与理论相结合,引导学生在实践中探索、发现、解决问题,提高学生的综合素质。
将课程目标分解为具体的学习成果,以便在教学设计和评估过程中,关注学生知识、技能和情感态度价值观的全面发展。
二、教学内容1. 8位加法器原理讲解:介绍8位加法器的基本原理、功能及其在计算机系统中的应用。
- 相关章节:课本第三章第二节《加法器原理及其应用》2. 二进制加法运算规则:回顾二进制数的加法运算规则,分析进位产生的原因及处理方法。
- 相关章节:课本第二章第三节《二进制数的运算》3. 8位加法器电路设计:讲解8位加法器电路的组成,引导学生学会设计简单的8位加法器电路。
- 相关章节:课本第三章第三节《加法器电路设计》4. 实践操作:学生分组进行8位加法器电路搭建与调试,培养实际操作能力。
- 相关章节:课本第三章实验部分《加法器电路实验》5. 教学内容安排与进度:- 第一课时:8位加法器原理讲解、二进制加法运算规则回顾- 第二课时:8位加法器电路设计、实践操作指导- 第三课时:学生分组进行电路搭建与调试,教师巡回指导教学内容注重科学性和系统性,结合课本章节内容,确保学生在掌握理论知识的基础上,提高实践操作能力。
8位加法器的设计
8位加法器的设计一设计原理1.课题认识加法器是为了实现加法的。
即是产生数的和的装置。
加数和被加数为输入,和数与进位为输出的装置为半加器。
若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。
常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。
由任务书可知,本次课题要解决的问题如下:1. 四位加法器的设计。
2. 两个四位加法器级联为八位加法器的问题。
3. 8位结果和进位显示十进制的问题。
4. 动态显示的问题。
2.设计思路8位加法器采用两个4位二进制并行加法器级联而成。
四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如下图所示。
课题要求计算的和要用十进制显示,并要求动态显示。
可以设计一个9位二进制显示为十进制的子程序,并采用分频,来实现动态显示!用两个并行四位加法器实现一个八位加法器的框图如下:二设计过程有设计思路可知,要实现8位加法器,需要三个子程序:1. 4位加法器;2.十进制显示环节;3.动态显示环节。
1. 4位二进制并行加法器的设计①运用四个全加器级连成串行进位加法器。
程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADD4 ISPort(A,B:in STD_logic_vector(3 downto 0); --输入四位二进制。
ci:in STD_logic; --输入进位。
co: out STD_logic; --输出进位。
so:out STD_logic_vector(3 downto 0) ); --输出和。
end;ARCHITECTURE h1 of ADD4 isbeginprocess(A,B)variable cq, qq, sq: STD_logic_vector(3 downto 0);beginqq(0):= not(A(0) XOR (NOT (B(0)))); sq(0):= not(qq(0) XOR (NOT(ci))); --低位相加并if ((A(0) xor B(0))='1') then cq(0):= ci; --产生进位。
8位加法器的设计(推荐文档)
实验二 8位加法器设计一、实验目的熟悉利用Quartus Ⅱ的图形编辑输入法设计简单组合电路,掌握层次化设计方法,并通过8位全加器的设计,进一步熟悉利用EDA 软件进行数字系统设计的流程。
二、实验仪器与器材计算机1台,GW48-PK2S 实验箱1台,Quartus Ⅱ6.0 1套。
三、实验内容1. 基本命题利用图形输入法设计一个一位半加器和全加器,再利用级联方法构成8位加法器。
2. 扩展命题利用文本输入法设计4位并行进位加法器,再利用层次设计方法构成8位加法器。
通过时序仿真,比较两种加法器的性能。
四、设计思路加法器是数字系统中的基本逻辑器件。
例如,为了节省逻辑资源,减法器和硬件乘法器都可由加法器来构成。
多位加法器的设计十分耗费硬件资源,因此在实际的设计和相关系统的开发中,需要注意资源的利用率和进位速度两方面的问题。
对此,首先应选择较适合组合逻辑设计的器件作为最终的目标器件,如CPLD ;其次在加法器的逻辑结构设计上,在芯片资源的利用率和加法器的速度两方面权衡得失,探寻最佳选择,即选择最佳的并行进位最小的加法单元的宽度。
显然这种选择与目标器件的时延特性有直接关系。
多位加法器的构成有两种方式:即并行进位和串行进位方式。
串行进位方式的加法器是将全加器级联构成的,它有电路简单,但进位速度较慢的特点。
并行进位加法器设有产生并行进位的逻辑电路,加法器的进位仅与输入状态有关,与各级加法器的进位无关,即第 i 位加法器的进位直接由该位的各输入状态决定,其关系式为:i i i i i i C Y X Y X C ⋅⊕+=+1 (i = 0,1,2,3…)当i = 3时,代入上述表达式可得:00112233001122331122332233334C Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X C ⋅⊕⋅⊕⋅⊕⋅⊕+⋅⊕⋅⊕⋅⊕+⋅⊕⋅⊕+⋅⊕+= 4位加法器的各位和数表达式如下:0000010000111112111122222322223333343333C Y X Y X C C Y X S C Y X Y X C C Y X S C Y X Y X C C Y X S C Y X Y X C C Y X S ⋅⊕+=⊕⊕=⋅⊕+=⊕⊕=⋅⊕+=⊕⊕=⋅⊕+=⊕⊕=用门电路实现的4位并行加法器电路如图2-1所示。
8位加减发器设计概述
8位加减发器设计前两天刚帮朋位友做了一个数字电路里的8位加减发器,感触颇深啊!一个简单的8位加减发器都做了好久,而且……•简单说一下题目:熟悉计算机的加、减法运算的原理和硬件电路的实现,掌握带符号加减法的溢出方法判断和硬件电路的实现方法。
1、输入数据为原码,其中高1位为符号位,低7位为数据位,运算结果需要转换为原码表示。
2、具有进位信号输入,输出能力,溢出判断能力。
3、通过功能选择控制信号M选择运算功能,M =0,加法运算,M=1,进行减法运算。
4、用数码管显示两个输入数据和运算结果。
用发光二极管显示溢出与否,绿灯表示未溢出,红灯表示溢出。
•要求1、在multisim上进行电路设计及仿真2、输入、输出数码显示正确,另外溢出指示正确3、结果验证,选择四组数据依次验证:结果为正不溢出、结果为负不溢出、结果正溢出和结果负溢出四种情况个人感觉刚读完题有点懵,没听过这位老的讲的课谁能看懂什么意思……每个人看到这个题的第一反应应该是分类,加法有几种情况,减法有几种情况,但是这种情况你就陷入了误区,这时候你应该问一下小伙伴学的课本,大概那个章节,重新学习一下(反正我是栽了跟头以后,要了他们的课本,看了几个例题就知道他们老师想干什么了):.这是好几天以前写的了,忘了思路了,下面把小伙伴的报告直接贴上摘要采用一款优秀的软件Multisim13作为设计平台,,对任意一个8位二进制并行加/减法运算电路的设计原理及构成方法作了详细的介绍,通过按键输入被减数和减数,并设置+、-号按键;允许减数大于被减数,负号可采用数码管或其他显示器件,并利用LED灯显示计算结果。
提出至少两种设计实现方案,并优选方案进行设计。
利用该软件能实现电子电路的快速设计和仿真,大大缩短了电子电路的设计开发周期。
本文以任意一个8位二进制并行加/减法运算电路的设计为例,详细介绍了基于Multisim13的数字电路加减法运算的设计与仿真。
【关键词】Multisiml3,寄存器,显示器,门元件,数字电路第1章概述1.1 课题分析目前人类社会已逐步实现了高度发达的信息化,各种电子产品不但在性能上不断增强,而且更新换代的频率也越来越快,实现这种进步的主要原因是生产制造技术和电子设计技术的发展,特别是以EDA为核心的电子设计技术得到了飞速发展。
如何用JK触发器设计计数器
3)按计数增减分:加法计数器,减法计数器,加/减法计数器.7.3.1 异步计数器一,异步二进制计数器1,异步二进制加法计数器分析图7.3.1 由JK触发器组成的4位异步二进制加法计数器.分析方法:由逻辑图到波形图(所有JK触发器均构成为T/ 触发器的形式,且后一级触发器的时钟脉冲是前一级触发器的输出Q),再由波形图到状态表,进而分析出其逻辑功能.2,异步二进制减法计数器减法运算规则:0000-1时,可视为(1)0000-1=1111;1111-1=1110,其余类推.注:74LS163的引脚排列和74LS161相同,不同之处是74LS163采用同步清零方式.(2)CT74LS161的逻辑功能①=0时异步清零.C0=0②=1,=0时同步并行置数.③==1且CPT=CPP=1时,按照4位自然二进制码进行同步二进制计数.④==1且CPT·CPP=0时,计数器状态保持不变.4,反馈置数法获得N进制计数器方法如下:·写出状态SN-1的二进制代码.·求归零逻辑,即求置数控制端的逻辑表达式.·画连线图.(集成计数器中,清零,置数均采用同步方式的有74LS163;均采用异步方式的有74LS193,74LS197,74LS192;清零采用异步方式,置数采用同步方式的有74LS161,74LS160;有的只具有异步清零功能,如CC4520,74LS190,74LS191;74LS90则具有异步清零和异步置9功能.等等)试用CT74LS161构成模小于16的N进制计数器5,同步二进制加/减计数器二,同步十进制加法计数器8421BCD码同步十进制加法计数器电路分析三,集成同计数器1,集成十进制同步加法计数器CT74LS160(1)CT74LS160的引脚排列和逻辑功能示意图图7.3.3 CT74LS160的引脚排列图和逻辑功能示意图(2)CT74LS160的逻辑功能①=0时异步清零.C0=0②=1,=0时同步并行置数.③==1且CPT=CPP=1时,按照BCD码进行同步十进制计数.④==1且CPT·CPP=0时,计数器状态保持不变.2.集成十进制同步加/减计数器CT74LS190其逻辑功能示意图如教材图7.3.15所示.功能如教材表7.3.10所示.集成计数器小结:集成十进制同步加法计数器74160,74162的引脚排列图,逻辑功能示意图与74161,74163相同,不同的是,74160和74162是十进制同步加法计数器,而74161和74163是4位二进制(16进制)同步加法计数器.此外,74160和74162的区别是,74160采用的是异步清零方式,而74162采用的是同步清零方式.74190是单时钟集成十进制同步可逆计数器,其引脚排列图和逻辑功能示意图与74191相同.74192是双时钟集成十进制同步可逆计数器,其引脚排列图和逻辑功能示意图与74193相同.7.3.3 利用计数器的级联获得大容量N进制计数器计数器的级联是将多个计数器串接起来,以获得计数容量更大的N进制计数器. 1,异步计数器一般没有专门的进位信号输出端,通常可以用本级的高位输出信号驱动下一级计数器计数,即采用串行进位方式来扩展容量.举例:74LS290(1)100进制计数器(2)64进制计数器2,同步计数器有进位或借位输出端,可以选择合适的进位或借位输出信号来驱动下一级计数器计数.同步计数器级联的方式有两种,一种级间采用串行进位方式,即异步方式,这种方式是将低位计数器的进位输出直接作为高位计数器的时钟脉冲,异步方式的速度较慢.另一种级间采用并行进位方式,即同步方式,这种方式一般是把各计数器的CP端连在一起接统一的时钟脉冲,而低位计数器的进位输出送高位计数器的计数控制端.举例:74161(1)60进制(2)12位二进制计数器(慢速计数方式)12位二进制计数器(快速计数方式)7.4 寄存器和移位寄存器寄存器是由具有存储功能的触发器组合起来构成的.一个触发器可以存储1位二进制代码,存放n位二进制代码的寄存器,需用n个触发器来构成.按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类.基本寄存器只能并行送入数据,需要时也只能并行输出.移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入,并行输出,也可以串行输入,串行输出,还可以并行输入,串行输出,串行输入,并行输出,十分灵活,用途也很广.7.4.1 基本寄存器概念:在数字电路中,用来存放二进制数据或代码的电路称为寄存器.1,单拍工作方式基本寄存器无论寄存器中原来的内容是什么,只要送数控制时钟脉冲CP上升沿到来,加在并行数据输入端的数据D0~D3,就立即被送入进寄存器中,即有:2.双拍工作方式基本寄存器(1)清零.CR=0,异步清零.即有:(2)送数.CR=1时,CP上升沿送数.即有:(3)保持.在CR=1,CP上升沿以外时间,寄存器内容将保持不变.7.4.2 移位寄存器1.单向移位寄存器四位右移寄存器:时钟方程:驱动方程:状态方程:右移位寄存器的状态表:输入现态次态说明Di CP1 ↑1 ↑1 ↑1 ↑0 0 0 01 0 0 01 1 0 01 1 1 01 0 0 01 1 0 01 1 1 01 1 1 1连续输入4个1单向移位寄存器具有以下主要特点:单向移位寄存器中的数码,在CP脉冲操作下,可以依次右移或左移.n位单向移位寄存器可以寄存n位二进制代码.n个CP脉冲即可完成串行输入工作,此后可从Q0~Qn-1端获得并行的n位二进制数码,再用n个CP脉冲又可实现串行输出操作.若串行输入端状态为0,则n个CP脉冲后,寄存器便被清零.2.双向移位寄存器M=0时右移 M=1时左移3.集成双向移位寄存器74LS194CT74LS194的引脚排列图和逻辑功能示意图:CT74LS194的功能表:工作状态0 × × ×1 0 0 ×1 0 1 ↑1 1 0 ↑1 1 1 ×异步清零保持右移左移并行输入7.4.3 移位寄存器的应用一,环形计数器1,环形计数器是将单向移位寄存器的串行输入端和串行输出端相连, 构成一个闭合的环.结构特点:,即将FFn-1的输出Qn-1接到FF0的输入端D0.工作原理:根据起始状态设置的不同,在输入计数脉冲CP的作用下,环形计数器的有效状态可以循环移位一个1,也可以循环移位一个0.即当连续输入CP脉冲时,环形计数器中各个触发器的Q端或端,将轮流地出现矩形脉冲.实现环形计数器时,必须设置适当的初态,且输出Q3Q2Q1Q0端初始状态不能完全一致(即不能全为"1"或"0"),这样电路才能实现计数, 环形计数器的进制数N与移位寄存器内的触发器个数n相等,即N=n2,能自启动的4位环形计数器状态图:由74LS194构成的能自启动的4位环形计数器时序图二,扭环形计数器1,扭环形计数器是将单向移位寄存器的串行输入端和串行反相输出端相连,构成一个闭合的环.实现扭环形计数器时,不必设置初态.扭环形计数器的进制数N与移位寄存器内的触发器个数n满足N=2n的关系结构特点为:,即将FFn-1的输出接到FF0的输入端D0.状态图:2,能自启动的4位扭环形计数器7.4.4 顺序脉冲发生器在数字电路中,能按一定时间,一定顺序轮流输出脉冲波形的电路称为顺序脉冲发生器.顺序脉冲发生器也称脉冲分配器或节拍脉冲发生器,一般由计数器(包括移位寄存器型计数器)和译码器组成.作为时间基准的计数脉冲由计数器的输入端送入,译码器即将计数器状态译成输出端上的顺序脉冲,使输出端上的状态按一定时间,一定顺序轮流为1,或者轮流为0.前面介绍过的环形计数器的输出就是顺序脉冲,故可不加译码电路即可直接作为顺序脉冲发生器.一,计数器型顺序脉冲发生器计数器型顺序脉冲发生器一般用按自然态序计数的二进制计数器和译码器构成. 举例:用集成计数器74LS163和集成3线-8线译码器74LS138构成的8输出顺序脉冲发生器.二,移位型顺序脉冲发生器◎移位型顺序脉冲发生器由移位寄存器型计数器加译码电路构成.其中环形计数器的输出就是顺序脉冲,故可不加译码电路就可直接作为顺序脉冲发生器.◎时序图:◎由CT74LS194构成的顺序脉冲发生器见教材P233的图7.4.6和图7.4.7计数器是一种应用十分广泛的时序电路,除用于计数,分频外,还广泛用于数字测量,运算和控制,从小型数字仪表,到大型数字电子计算机,几乎无所不在,是任何现代数字系统中不可缺少的组成部分.计数器可利用触发器和门电路构成.但在实际工作中,主要是利用集成计数器来构成.在用集成计数器构成N进制计数器时,需要利用清零端或置数控制端,让电路跳过某些状态来获得N进制计数器.寄存器是用来存放二进制数据或代码的电路,是一种基本时序电路.任何现代数字系统都必须把需要处理的数据和代码先寄存起来,以便随时取用.寄存器分为基本寄存器和移位寄存器两大类.基本寄存器的数据只能并行输入,并行输出.移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据可以并行输入,并行输出,串行输入,串行输出,并行输入,串行输出,串行输入,并行输出.寄存器的应用很广,特别是移位寄存器,不仅可将串行数码转换成并行数码,或将并行数码转换成串行数码,还可以很方便地构成移位寄存器型计数器和顺序脉冲发生器等电路.在数控装置和数字计算机中,往往需要机器按照人们事先规定的顺序进行运算或操作,这就要求机器的控制部分不仅能正确地发出各种控制信号,而且要求这些控制信号在时间上有一定的先后顺序.通常采取的方法是,用一个顺序脉冲发生器来产生时间上有先后顺序的脉冲,以控制系统各部分协调地工作.顺序脉冲发生器分计数型和移位型两类.计数型顺序脉冲发生器状态利用率高,但由于每次CP信号到来时,可能有两个或两个以上的触发器翻转,因此会产生竞争冒险,需要采取措施消除.移位型顺序脉冲发生器没有竞争冒险问题,但状态利用率低.由JK触发器组成的4位异步二进制减法计数器的工作情况分析略.二,异步十进制加法计数器由JK触发器组成的异步十进制加法计数器的由来:在4位异步二进制加法计数器的基础上经过适当修改获得.有效状态:0000——1001十个状态;无效状态:1010~1111六个状态.三,集成异步计数器CT74LS290为了达到多功能的目的,中规模异步计数器往往采用组合式的结构,即由两个独立的计数来构成整个的计数器芯片.如:74LS90(290):由模2和模5的计数器组成;74LS92 :由模2和模6的计数器组成;74LS93 :由模2和模8的计数器组成.1.CT74LS290的情况如下.(1)电路结构框图和逻辑功能示意图(2)逻辑功能如下表7.3.1所示.注:5421码十进制计数时,从高位到低位的输出为.2,利用反馈归零法获得N(任意正整数)进制计数器方法如下:(1)写出状态SN的二进制代码.(2)求归零逻辑(写出反馈归零函数),即求异步清零端(或置数控制端)信号的逻辑表达式.(3)画连线图.举例:试用CT74LS290构成模小于十的N进制计数器.CT74LS290则具有异步清零和异步置9功能.讲解教材P215的[例7.3.1].注:CT74LS90的功能与CT74LS290基本相同.7.3.2 同步计数器一,同步二进制计数器1.同步二进制加法计数器2,同步二进制减法计数器3,集成同步二进制计数器CT74LS161(1)CT74LS161的引脚排列和逻辑功能示意图注:74LS163的引脚排列和74LS161相同,不同之处是74LS163采用同步清零方式.(2)CT74LS161的逻辑功能①=0时异步清零.C0=0②=1,=0时同步并行置数.③==1且CPT=CPP=1时,按照4位自然二进制码进行同步二进制计数.④==1且CPT·CPP=0时,计数器状态保持不变.4,反馈置数法获得N进制计数器方法如下:·写出状态SN-1的二进制代码.·求归零逻辑,即求置数控制端的逻辑表达式.·画连线图.(集成计数器中,清零,置数均采用同步方式的有74LS163;均采用异步方式的有74LS193,74LS197,74LS192;清零采用异步方式,置数采用同步方式的有74LS161,74LS160;有的只具有异步清零功能,如CC4520,74LS190,74LS191;74LS90则具有异步清零和异步置9功能.等等)试用CT74LS161构成模小于16的N进制计数器5,同步二进制加/减计数器二,同步十进制加法计数器8421BCD码同步十进制加法计数器电路分析三,集成同计数器1,集成十进制同步加法计数器CT74LS160(1)CT74LS160的引脚排列和逻辑功能示意图图7.3.3 CT74LS160的引脚排列图和逻辑功能示意图(2)CT74LS160的逻辑功能①=0时异步清零.C0=0②=1,=0时同步并行置数.③==1且CPT=CPP=1时,按照BCD码进行同步十进制计数.④==1且CPT·CPP=0时,计数器状态保持不变.2.集成十进制同步加/减计数器CT74LS190其逻辑功能示意图如教材图7.3.15所示.功能如教材表7.3.10所示.集成计数器小结:集成十进制同步加法计数器74160,74162的引脚排列图,逻辑功能示意图与74161,74163相同,不同的是,74160和74162是十进制同步加法计数器,而74161和74163是4位二进制(16进制)同步加法计数器.此外,74160和74162的区别是,74160采用的是异步清零方式,而74162采用的是同步清零方式.74190是单时钟集成十进制同步可逆计数器,其引脚排列图和逻辑功能示意图与74191相同.74192是双时钟集成十进制同步可逆计数器,其引脚排列图和逻辑功能示意图与74193相同.7.3.3 利用计数器的级联获得大容量N进制计数器计数器的级联是将多个计数器串接起来,以获得计数容量更大的N进制计数器. 1,异步计数器一般没有专门的进位信号输出端,通常可以用本级的高位输出信号驱动下一级计数器计数,即采用串行进位方式来扩展容量.举例:74LS290(1)100进制计数器(2)64进制计数器2,同步计数器有进位或借位输出端,可以选择合适的进位或借位输出信号来驱动下一级计数器计数.同步计数器级联的方式有两种,一种级间采用串行进位方式,即异步方式,这种方式是将低位计数器的进位输出直接作为高位计数器的时钟脉冲,异步方式的速度较慢.另一种级间采用并行进位方式,即同步方式,这种方式一般是把各计数器的CP端连在一起接统一的时钟脉冲,而低位计数器的进位输出送高位计数器的计数控制端.举例:74161(1)60进制(2)12位二进制计数器(慢速计数方式)12位二进制计数器(快速计数方式)7.4 寄存器和移位寄存器寄存器是由具有存储功能的触发器组合起来构成的.一个触发器可以存储1位二进制代码,存放n位二进制代码的寄存器,需用n个触发器来构成.按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类.基本寄存器只能并行送入数据,需要时也只能并行输出.移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入,并行输出,也可以串行输入,串行输出,还可以并行输入,串行输出,串行输入,并行输出,十分灵活,用途也很广.7.4.1 基本寄存器概念:在数字电路中,用来存放二进制数据或代码的电路称为寄存器.1,单拍工作方式基本寄存器无论寄存器中原来的内容是什么,只要送数控制时钟脉冲CP上升沿到来,加在并行数据输入端的数据D0~D3,就立即被送入进寄存器中,即有:2.双拍工作方式基本寄存器(1)清零.CR=0,异步清零.即有:(2)送数.CR=1时,CP上升沿送数.即有:(3)保持.在CR=1,CP上升沿以外时间,寄存器内容将保持不变.7.4.2 移位寄存器1.单向移位寄存器四位右移寄存器:时钟方程:驱动方程:状态方程:右移位寄存器的状态表:输入现态次态说明Di CP1 ↑1 ↑1 ↑1 ↑0 0 0 01 0 0 01 1 0 01 1 1 01 0 0 01 1 0 01 1 1 01 1 1 1连续输入4个1单向移位寄存器具有以下主要特点:单向移位寄存器中的数码,在CP脉冲操作下,可以依次右移或左移.n位单向移位寄存器可以寄存n位二进制代码.n个CP脉冲即可完成串行输入工作,此后可从Q0~Qn-1端获得并行的n位二进制数码,再用n个CP脉冲又可实现串行输出操作.若串行输入端状态为0,则n个CP脉冲后,寄存器便被清零.2.双向移位寄存器M=0时右移 M=1时左移3.集成双向移位寄存器74LS194CT74LS194的引脚排列图和逻辑功能示意图:CT74LS194的功能表:工作状态0 × × ×1 0 0 ×1 0 1 ↑1 1 0 ↑1 1 1 ×异步清零保持右移左移并行输入7.4.3 移位寄存器的应用一,环形计数器1,环形计数器是将单向移位寄存器的串行输入端和串行输出端相连, 构成一个闭合的环.结构特点:,即将FFn-1的输出Qn-1接到FF0的输入端D0.工作原理:根据起始状态设置的不同,在输入计数脉冲CP的作用下,环形计数器的有效状态可以循环移位一个1,也可以循环移位一个0.即当连续输入CP脉冲时,环形计数器中各个触发器的Q端或端,将轮流地出现矩形脉冲.实现环形计数器时,必须设置适当的初态,且输出Q3Q2Q1Q0端初始状态不能完全一致(即不能全为"1"或"0"),这样电路才能实现计数, 环形计数器的进制数N与移位寄存器内的触发器个数n相等,即N=n2,能自启动的4位环形计数器状态图:由74LS194构成的能自启动的4位环形计数器时序图二,扭环形计数器1,扭环形计数器是将单向移位寄存器的串行输入端和串行反相输出端相连,构成一个闭合的环.实现扭环形计数器时,不必设置初态.扭环形计数器的进制数N与移位寄存器内的触发器个数n满足N=2n的关系结构特点为:,即将FFn-1的输出接到FF0的输入端D0.状态图:2,能自启动的4位扭环形计数器7.4.4 顺序脉冲发生器在数字电路中,能按一定时间,一定顺序轮流输出脉冲波形的电路称为顺序脉冲发生器.顺序脉冲发生器也称脉冲分配器或节拍脉冲发生器,一般由计数器(包括移位寄存器型计数器)和译码器组成.作为时间基准的计数脉冲由计数器的输入端送入,译码器即将计数器状态译成输出端上的顺序脉冲,使输出端上的状态按一定时间,一定顺序轮流为1,或者轮流为0.前面介绍过的环形计数器的输出就是顺序脉冲,故可不加译码电路即可直接作为顺序脉冲发生器.一,计数器型顺序脉冲发生器计数器型顺序脉冲发生器一般用按自然态序计数的二进制计数器和译码器构成. 举例:用集成计数器74LS163和集成3线-8线译码器74LS138构成的8输出顺序脉冲发生器.二,移位型顺序脉冲发生器◎移位型顺序脉冲发生器由移位寄存器型计数器加译码电路构成.其中环形计数器的输出就是顺序脉冲,故可不加译码电路就可直接作为顺序脉冲发生器.◎时序图:◎由CT74LS194构成的顺序脉冲发生器.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:用JKFF 设计模为8的加法计数器
步骤1: 分析题意 根据题目所给的条件,待设计的计数器默认为模为8的加法器,不需要求加载初值。
电路只需要故电路只需时钟输入端clk ,clk 作为电路的同步时钟,不必当做输入变量对待;输出一个8进制数要3个输出端,记为0Q 1Q 2Q 。
要有输出信号Y ,故共需要3个输出端。
因输出量0Q 1Q 2Q 就是计数值,故采用Moore 型电路较为合适。
步骤2:建立原始状态图 模8加法器要求逢8加1,。
有此状态图做出如图所示。
需要8个状态故不需要化简。
/Y /0 /0 /0
S0→
S1→
S2→
S3 ↑
/1 ↓
/0 S7←S6←S5←
S4
/0 /0 /0
步骤3:状态分配。
由于最大模的值为8,因此必须取代码位数n=3。
假设S0=000,S1=001,S2=010,S3=011,S4=100,S5=101,S6=110,S7=111.则可以做出状态转移表如图。
步骤4:选触发器,求时钟、输出、状态、驱动方程。
因需要3位二进制代码,选用三个CP 下降沿出发的J-K 触发器,分别用FF0,FF1,FF2表示。
有状态列表可作出次态卡诺图及输出函数的卡诺图,如图所示。
与J-K 触发器的特性方程
n
n n Q
K Q J Q
+=+1
比较得到驱动方程
输入 现态 次态
输 出
CP Q2 Q1 Q0 12
+n Q
11
+n Q
1
+n Q
Y 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 2 0 1 0 0 1 1 0 3 0 1 1 1 0 0 0 4 1 0 0 1 0 1 0 5 1 0 1 1 1 0 0 6 1 1 0 1 1 1 0 7
1
1
1
1
n
n Q Q 0
1
=+
10=J 1
0=K
n
n n n n Q Q Q Q Q 1
0101
1
+=+ n
Q J 0
1=
n
Q K 0
1=
n
n n n n n n n Q Q Q Q Q Q Q Q 1
2201201
2
++=+
n
n n Q Q Q Y 2
10=
n
n
Q Q K J 1
022==
步骤5:画出逻辑电路图
n
Q 0
n
n
Q Q 12
00 01 11 10
0 1 1 1 1 1
n
Q 0
n
n
Q Q 12
00 01 11 10
0 0 1 1 0 1
1
n
Q 0
n
n Q Q 1
2
00
01 11
10
0 0 0 1 1
1
1
1
n
Q 0
n
n
Q Q 1
2
00
01
11
10
0 0 0 0 0 1
1。