当前位置:文档之家› 8位串行二进制全加器

8位串行二进制全加器

8位串行二进制全加器
8位串行二进制全加器

只用一位二进制全加器为基本元件和一些辅助的时序电路,设计一个8位串行二进制全加器。

Vhdl代码如下:

顶层文件如下:

library ieee;

use ieee.std_logic_1164.all;

entity f8_adder is

port(a,b:in std_logic_vector(7 downto 0);

c0:in std_logic;

s:out std_logic_vector(7 downto 0);

c1:out std_logic);

end f8_adder;

architecture bhv of f8_adder is

signal cout:std_logic_vector(7 downto 1);

component f_adder is

port(ain,bin,cin:in std_logic;

cout,sum:out std_logic);

end component;

begin

u1: f_adder port map(ain=>a(0),bin=>b(0),cin=>c0,sum=>s(0),cout=>cout(1));

u2: f_adder port map(ain=>a(1),bin=>b(1),cin=>cout(1),sum=>s(1),cout=>cout(2));

u3: f_adder port map(ain=>a(2),bin=>b(2),cin=>cout(2),sum=>s(2),cout=>cout(3));

u4: f_adder port map(ain=>a(3),bin=>b(3),cin=>cout(3),sum=>s(3),cout=>cout(4));

u5: f_adder port map(ain=>a(4),bin=>b(4),cin=>cout(4),sum=>s(4),cout=>cout(5));

u6: f_adder port map(ain=>a(5),bin=>b(5),cin=>cout(5),sum=>s(5),cout=>cout(6));

u7: f_adder port map(ain=>a(6),bin=>b(6),cin=>cout(6),sum=>s(6),cout=>cout(7));

u8: f_adder port map(ain=>a(7),bin=>b(7),cin=>cout(7),sum=>s(7),cout=>c1);

end bhv;

全加器描述:

library ieee;

use ieee.std_logic_1164.all;

entity f_adder is

port(ain,bin,cin:in std_logic;

cout,sum:out std_logic);

end f_adder;

architecture fd1 of f_adder is

component h_adder

port(a,b:in std_logic;

co,so:out std_logic);

end component;

component or2a

port(a,b:in std_logic;

c:out std_logic);

end component;

signal d,e,f:std_logic;

begin

u1: 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 fd1;

半加器描述:

library ieee;

use ieee.std_logic_1164.all;

entity h_adder is

port(a,b:in std_logic;

co,so:out std_logic);

end h_adder;

architecture fh1 of h_adder is

begin

so<=not(a xor not(b));

co<=a and b;

end fh1;

或门电路描述:

library ieee;

use ieee.std_logic_1164.all;

entity or2a is

port(a,b:in std_logic;

c:out std_logic);

end or2a;

architecture one of or2a is

begin

c<=a or b;

end one;

RTL 电路图如下:

由于RTL图比较大,因此将它另外一图片的格式显示出来,这里只给了一个略缩图。

时序仿真图如下:

四位二进制同步加法计数器(缺0011 0100 0101 0110)

成绩评定表

课程设计任务书

摘要 本次课设题目为四位二进制加法计数器(缺0011 0100 0101 0110)。 首先在QuartusII8.1中建立名为count16的工程,用四位二进制加法计数器的VHDL语言实现了四位二进制加法计数器的仿真波形图,同时进行相关操作,锁定了所需管脚,将其下载到实验箱。 然后,在Multisim软件中,通过选用四个时钟脉冲下降沿触发的JK触发器和同步电路,画出其时序图,卡诺图,建立相关方程,做出相关计算,完成四位二进制加法计数器(缺0011 0100 0101 0110)的驱动方程。在Multisim软件里画出了四位二进制加法计数器的逻辑电路图。经过运行,分析由红绿灯的亮灭顺序及状态,和逻辑分析仪里出现波形图。说明四位二进制加法计数器顺利完成。 关键词:计数器;VHDL语言;仿真;触发器。

目录 一、课程设计目的 (1) 二、设计框图 (1) 三、实现过程 (2) 1、QUARTUS II实现过程 (2) 1.1建立工程 (2) 1.2编译程序 (7) 1.3波形仿真 (10) 1.4 仿真结果分析 (14) 1.5引脚锁定与下载 (14) 2、MULTISIM实现过程 (16) 2.1求驱动方程 (16) 2.2画逻辑电路图 (19) 2.3逻辑分析仪的仿真 (20) 2.4结果分析 (21) 2.5自启动判断 (22) 四、总结 (23) 五、参考书目 (24)

一、课程设计目的 1 了解同步加法计数器工作原理和逻辑功能。 2 掌握计数器电路的分析、设计方法及应用。 3 学会正确使用JK 触发器。 二、设计框图 状态转换图是描述时序电路的一种方法,具有形象直观的特点,即其把所用触发器的状态转换关系及转换条件用几何图形表示出来,十分清新,便于查看。 在本课程设计中,四位二进制同步加法计数器用四个CP 下降沿触发的JK 触发器实现,其中有相应的跳变,即跳过了0011 0100 0101 0110四个状态,这在状态转换图中可以清晰地显示出来。具体结构示意框图和状态转换图如下: 1010 101111001101111011110 /1 /1000 101101110010000100000/0/0/0/0/0/0/0/0/0/????←????←????←????←????←↓↑???→????→????→????→????→? B:状态转换图

三位二进制加法计数器、序列信号发生器的设计、用集成芯片设计一个256进制加法计数器

目录 1课程设计的目的与作用 (1) 2设计任务 (1) 2.1同步计数器 (1) 2.2序列信号发生器 (1) 3设计原理 (1) 3.1同步计数器 (1) 3.1.1加法计数器 (2) 3.1.2减法计数器 (2) 3.1.3用集成芯片设计一个256进制的加法器 (2) 3.2序列信号发生器 (3) 4实验步骤 (3) 4.1同步计数器 (3) 4.1.1加法计数器 (4) 4.1.2减法计数器 (7) 4.1.3用集成芯片设计一个256进制的加法器 (10) 4.2序列信号发生器 (11) 5设计总结与体会 (14) 6参考文献 (15)

1课程设计的目的与作用 1.了解同步计数器及序列信号发生器工作原理; 2.掌握计数器电路的分析,设计方法及应用; 3.掌握序列信号发生器的分析,设计方法及应用; 2设计任务 2.1同步计数器 1.使用设计一个循环型3位2进制加法计数器,其中无效状态为(001,010),组合电路 选用与门和与非门等。 2.根据自己的设计接线。 3.检查无误后,测试其功能。 2.2序列信号发生器 1.使用设计一个能循环产生给定序列的序列信号发生器,其中发生序列(1000001),组 合电路选用与门和与非门等。 根据自己的设计接线。 2.检查无误后,测试其功能。 3设计原理 3.1同步计数器 (1)计数器是用来统计输入脉冲个数电路,是组成数字电路和计算机电路的基本时序逻辑部件。计数器按长度可分为:二进制,十进制和任意进制计数器。计数器不仅有加法计数器,也有减法计数器。如果一个计数器既能完成累加技术功能,也能完成递减功能,则称其为可逆计数器。在同步计数器中,个触发器共用同一个时钟信号。 (2)时序电路的分析过程:根据给定的时序电路,写出各触发器的驱动方程,输出方程,

四位二进制加法计数器课程设计

成绩评定表 学生姓名郝晓鹏班级学号1103060129 专业通信工程课程设计题目四位二进制加法 计数器 评语 组长签字: 成绩 日期20 年月日

课程设计任务书 学院信息科学与工程学院专业通信工程 学生姓名郝晓鹏班级学号1103060129 课程设计题目四位二进制加法计数(缺0010 0011 1101 1110) 实践教学要求与任务: 1、了解数字系统设计方法。 2、熟悉VHDL语言及其仿真环境、下载方法。 3、熟悉Multisim仿真环境。 4、设计实现四位二进制加计数(缺0010 0011 1101 1110) 工作计划与进度安排: 第一周:熟悉Multisim及QuartusII环境,练习数字系统设计方法。包括采用触发器设计和超高速硬件描述语言设计,体会自上而下、自下而上设计 方法的优缺点 第二周:1.在QuartusII环境中仿真实现四位二进制加计数(缺0100 0101 1001 1010 )。 2.在Multisim环境中仿真实现四位二进制加计数,缺(0100 0101 1001 1010),并通过虚拟仪器验证其正确性。 指导教师: 201 年月日专业负责人: 201 年月日 学院教学副院长: 201 年月日

摘要 本文采用在MAXPLUSⅡ环境中用VHDL语言实现四位二进制加法计数(缺0010 0011 1101 1110),在仿真器上显示结果波形,并下载到目标芯片上,在实验箱上观察输出结果。在Multisim环境中仿真实现四位二进制加法计数器(缺0010 0011 1101 1110),并通过虚拟仪器验证其正确性。 关键词:MAXPLUSⅡ环境;VHDL语言;四位二进制加计数;Multisim环境

8位二进制加法计算器

一:本实验设计的是一个8为二进制加法计算器,其功能就是对两个八位的二进制数执行加法运算,并可以异步清零。 二:电路可划分为三部分:半加器、全加器和复位电路。 1、半加器: 真值表 a b so co 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 电路图 2全加器:由半加器和或门组成 电路图 3复位电路: 复位电路通过en控制,当en为‘1’时,执行加法运算,输出正确的值,当en为‘0’时,输输出及结果为全0. 三:实验波形仿真和VHDL 1、仿真图:

2、VHDL代码 1)半加器h_adder: library ieee; use ieee.std_logic_1164.all; entity h_adder is port (a,b :in std_logic; co,so :out std_logic); end entity h_adder; architecture fh1 of h_adder is begin so <= not(a xor (not b));co <= a and b ; end architecture fh1; 2)或门or2a: library ieee; use ieee.std_logic_1164.all; entity or2a is port (a,b :in std_logic; c: out std_logic); end entity or2a; architecture one of or2a is begin c <= a or b ; end architecture one; 3)全加器f_adder: library ieee;

EDA论文用程序输入法设计16位二进制加法计算器

用程序输入法设计16位二进制加法计算器班级 xxxx 姓名 xxx 学号 xxxxx 内容提要: 计数器是数字系统中使用较多的一种时序逻辑器件。计数器的基本功能是统计时钟脉冲的个数,即对脉冲实现计数操作。计数器也可以作为分频、定时、脉冲节拍产生器和脉冲序列产生器使用。计数器的种类很多,按构成计数器中的各触发器是否使用一个时钟脉冲源来分,可分为同步计数器和异步计数器;按进位体制的不同,可分为二进制计数器、十进制计数器和任意进制计数器;按计数过程中数字增减趋势的不同,可分为加法计数器、减法计数器和可逆计数器;还有可预制数和可编计数器等等。本次课程设计将利用众多集成电路软件软件中的Quartus II软件,使用VHDL语言编程完成论文《用程序输入方法设计一个16位二进制加法计数器》,调试结果表明,所设计的计数器正确实现了计数功能。 关键词:二进制;加法计数器;VHDL语言 1问题分析 计数器是数字系统中使用较多的一种时序逻辑器件。计数器的基本功能是统计时钟脉冲的个数,即对脉冲实现计数操作。其工作原理可概述为:当输入时钟脉冲的一个上升沿(也可以是下降沿)来临时,二进制数据的低一位加1(或减1),并向高位进1(或借1)。在没

有外部约束条件时,计数器可进行与其二进制位数对应的数值的相应进制的自循环计数,如位数为3的计数器可进行8进制的自循环加法或减法计数。 可根据需要来设置计数器的位数,并通过外部约束条件来人为设定计数器的计数模数,来得到计数进制符合需要的N 进制计数器。所谓N 进制计数器,是指一个计数器的计数过程,在经历时钟脉冲信号的个为N 之后,二进制数据又回到初始状态的计数器。 表1.1计数器的状态表 图1.1计数器的状态图 2 设计原理 本论文所设计的16位二进制加法计数器,其中16位计数器输出Q[15..0]=0000000000000000,时钟CLK 的上升沿到来时,计数器处于预置工作状态,输出Q[15..0]= D[15..0],D[15..0]是16位并行数据输入端,COUT 是进位输入端,当UPDOWN=0(进行加法操作)且输出Q[15..0]=1111111111111111时,COUT=1表示进位输出。

三位二进制加法计数器(无效态:001,010)设计一个基于74138的组合电路256进制的加法器

目录 1 课程设计的目的与作用 (1) 2 设计任务 (1) 3 设计原理 (2) 3.1加法计数器 (2) 3.2全加器 (2) 3.3用集成芯片设计一个256进制的加法器 (2) 4实验步骤 (3) 4.1加法计数器 (3) 4.2全加器 (6) 4.3用集成芯片设计一个256进制的加法器 (7) 5仿真结果分析 (8) 6设计总结 (9) 7参考文献 (9)

1课程设计的目的与作用 (1).了解同步计数器及序列信号发生器工作原理; (2).掌握计数器电路的分析,设计方法及应用; (3).掌握序列信号发生器的分析,设计方法及应用 2 设计任务 2.1加法计数器 (1).设计一个循环型3位2进制加法计数器,其中无效状态为(001,010),组合电路选用与门和与非门等。 (2).根据自己的设计接线。 (3).检查无误后,测试其功能。 2.2全加器 (1).设计一个全加器,选用一片74LS138芯片设计电路。 (2).根据自己的设计接线。 (3).检查无误后,测试其功能。 2.3 256进制的加法器 (1).设计一个256进制的加法器并显示计数,选用两片74L163芯片设计电路。(2).根据自己的设计接线。 (3).检查无误后,测试其功能。

3 设计原理 3.1加法计数器 (1).计数器是用来统计输入脉冲个数电路,是组成数字电路和计算机电路的基本时序逻辑部件。计数器按长度可分为:二进制,十进制和任意进制计数器。计数器不仅有加法计数器,也有减法计数器。如果一个计数器既能完成累加技术功能,也能完成递减功能,则称其为可逆计数器。在同步计数器中,个触发器共用同一个时钟信号。 (2).时序电路的分析过程:根据给定的时序电路,写出各触发器的驱动方程,输出方程,根据驱动方程带入触发器特征方程,得到每个触发器的次态方程;再根据给定初态,一次迭代得到特征转换表,分析特征转换表画出状态图。 (3).CP是输入计数脉冲,所谓计数,就是记CP脉冲个数,每来一个CP脉冲,计数器就加一个1,随着输入计数脉冲个数的增加,计数器中的数值也增大,当计数器记满时再来CP脉冲,计数器归零的同时给高位进位,即要给高位进位信号。 3.2全加器 (1).74LS138有三个输入端:A0,A1,A2 和八个输出端Q0-Q7. 3个使能输入端口分是STB,STC,STA,只有当STB=STC=0,STA=1时,译码器才能正常工作,否则译码器处于禁止状态,所有输出端为高电平。 (2). 器可以处理低位进位,并输出本位加法进位。多个全加器进行级联可以得到多位全加器 3.3用集成芯片设计一个256进制的加法器 选取两片74LS163芯片设计256进制加法计数器。74LS163具有以下功能: A.异步清零功能 当0 CR时,其他输入信号都不起作用,由时钟触发器的逻辑 = = CR时,计数器清零。在0 特性知道,其异步输入端信号是优先的,0 R复位计数器也即使异步清零 = CR正是通过D

3位二进制同步加法计数器(无效状态为001 100)74LS161构成240进制同步计数器序列信号发生器(101001)并显示

目录 摘要..............................................................................................I 1课程设计目的及要求. (1) 1.1 课程设计的目的 (1) 1.2 课程设计的要求 (1) 23位二进制同步减法计数器(无效状态为001 100) (1) 2.1 基本原理 (1) 2.2 设计过程 (1) 2.2.1 状态图 (1) 2.2.2 卡诺图 (1) 2.2.3 特性方程,驱动方程 (3) 2.3 设计电路图 (3) 2.4 最后结果 (4) 3序列信号发生器(101001) (8) 3.1 基本原理 (8) 3.2设计过程 (8) 3.2.1 特性表 (8) 3.2.2 输出方程 (9) 3.3 设计电路图 (9) 3.4 最后结果 (10) 4设计总结和体会 (14) 5参考文献 (15)

1 课程设计目的及要求 1.1 课程设计的目的 1.学会使用数字电子实验平台 2.熟悉各个芯片和电路的接法 3.熟练掌握设计触发器的算法 4.懂得基本数字电子电路的功能,会分析,会设计 1.2 课程设计的要求 1.设计3位二进制同步加法计数器(无效状态为001 100) 2.设计一个序列信号发生器(期序列为101001) 2 设计3位二进制同步加法计数器(无效状态为001 100) 2.1 基本原理 计数器是用来统计脉冲个数的电路,是组成数字电路和计算机电路的基本时序部件,计数器按进制分可分为:二进制,十进制和N 进制。计数器不仅有加法计数器,也有减法计数器。一个计数器如果既能完成加法计数,又能完成减法计数,则其称为可逆计数器。 同步计数器:当输入计数脉冲到来时,要更新状态的触发器都是同时翻转的计数器,叫做同步计数器。设计同步计数器按照下面的思路进行分析! 2.2 设计过程 2.2.1 状态图 000 111 110 101 011 010 时序逻辑问题 状态赋值 状态转换图 最简逻辑表达式 逻辑图 检查能否自启动 选定触发器类型

三位二进制加法计数器(精)

成绩评定表 学生姓名班级学号 专业自动化课程设计题目数字电子 课程设计 评 语 组长签字: 成绩 日期20 年月日

课程设计任务书 学院信息科学与工程学院专业自动化 学生姓名班级学号 课程设计题目 1.三位二进制加法计数器(无效态:001,110) 2.序列信号发生器的设计(发生序列100101) 3.100进制加法计数器设计 实践教学要求与任务: 数字电子部分 1)采用multisim 仿真软件建立电路模型; 2)对电路进行理论分析、计算; 3)在multisim环境下分析仿真结果,给出仿真波形图。 工作计划与进度安排: 第1天: 1. 布置课程设计题目及任务。 2. 查找文献、资料,确立设计方案。 第2-3天: 1. 安装multisim软件,熟悉multisim软件仿真环境。 2. 在multisim环境下建立电路模型,学会建立元件库。 第4天: 1. 对设计电路进行理论分析、计算。 2. 在multisim环境下仿真电路功能,修改相应参数,分析结果的变化情况。 第5天: 1. 课程设计结果验收。 2. 针对课程设计题目进行答辩。 3. 完成课程设计报告。 指导教师: 201 年月日专业负责人: 201 年月日 学院教学副院长: 201 年月日

目录1 课程设计的目的与作用1 1.1设计目的及设计思想1 1.2设计的作用1 1.3 设计的任务1 2 所用multisim软件环境介绍1 3 三位二进制同步加法计数器设计3 3.1 基本原理3 3.2 设计过程3 4序列信号发生器的设计..6 4.1 基本原理6 4.2 设计过程6 6 100进制加法器计数器7 6.1 基本原理7 6.2 设计过程7 5 仿真结果分析8 5.1 三位二进制同步加法计数器仿真8 5.2 序列信号发生器(发生序列100101)的仿真11 6 设计总结和体会14 7 参考文献14

简易加减计算器设计(数电)

电子技术课程设计电气与信息工程学院建筑电气与智能化专业题目:简易加减计算器设计 姓名:徐雪娇 学号:094412110 指导教师:祁林

简易加减计算器设计 一、设计目的 1、在前导验证性认知实验基础上,进行更高层次的命题设计实验. 2、在教师指导下独立查阅资料、设计、特定功能的电子电路。 3、培养利用数字电路知识,解决电子线路中常见实际问题的能力. 4、积累电子制作经验,巩固基础、培养技能、追求创新、走向实用。 5、培养严肃认真的工作作风和严谨的科学态度。 二、设计要求 1、用于两位一下十进制的加减运算。 2、以合适方式显示输入数据及计算结果。 三、总体设计 第一步置入两个四位二进制数。例如(1001)2,(0011)2和(0101)2,(1000)2,同时在两个七段译码显示器上显示出对应的十进制数9,3和5,8。 第二步通过开关选择加(减)运算方式; 第三步若选择加运算方式所置数送入加法运算电路进行运算;同理若选 择减运算方式,则所置数送入减法运算电路运算; 第四步前面所得结果通过另外两个七段译码器显示。即: 方案一 通过开关J1-J8接不同的高低电平来控制输入端所置的两个一位十进制数, 译码显示器U10和U13分别显示所置入的两个数。数A直接置入四位超前进位 加法器74LS283的A4-A1端,74LS283的B4-B1端接四个2输入异或门。四个 2输入异或门的一输入端同时接到开关S1上,另一输入端分别接开关J5-J8,通过开关J5-J8控制数B的输入。当开关S1接低电平时,B与0异或的结果为B, 通过加法器74LS283完成两个数A和B的相加。当开关J1接高电平时,B与1 异或的结果为B非,置入的数B在74LS283的输入端为B的反码,且74LS283 的进位信号C0为1,其完成S=A+B(反码)+1,实际上其计算的结果为S=A-B 完成减法运算。由于译码显示器只能显示0-9,所以当A+B>9时不能显示,我们 在此用另一片芯片74LS283完成二进制码与8421BCD码的转换,即S>9(1001) 时加上6(0110)2,产生的进位信号送入译码器U12来显示结果的十位,U11 2 显示结果的个位。由于减法运算时两个一位十进制数相减不会大于10,所以不 会出现上述情况,用一片芯片U11即可显示结果。 方案二 由两异或门两与门和一或门组成全加器,可实现一位二进制加逻辑运算,四 位二进制数并行相加的逻辑运算可采用四个全加器串行进位的方式来实现,将低 位的进位输出信号接到高位的进位输入端,四个全加器依次串行连接,并将最低

八位二进制累加器的设计

信息科学与技术学院 实 习 报 告 实习名称:集成电路课程设计 学号:2011**** 姓名:*** 班级:微电子1班 指导教师:白天蕊 实习时间:二O一四年七月

摘要 随着科学技术的发展,计算机不断地更新换代,给我们的生活带来越来越多的便捷,然而累加器作为计算机的重要组成部件, 在运算器、中央处理器CPU中、汇编语言程序中都有各种不同的应用,因此很有必要了解其工作原理。 本次课程设计目的为DESIGN A CMOS 8-BIT ACCUMULATOR ,八位累加器主要由两大模块组成:八位加法器与八位寄存器。首先DESIGN A CMOS FULL ADDER和DESIGN A MASTER-SLAVE FLIP-FLOP,然后再由它们构成八位加法器。按定制设计流程设计各自原理图,确定参数,检验无误,即可进行原理图仿真及分析、逻辑功能验证、版图绘制、版图寄生电容提取、LVS 验证及仿真分析。 通过选题,熟悉对cadence工具的应用,设计过程中运用模块化设计有助于整体的层次分明。因此在学习了模拟电子技术,数字电子技术,模拟CMOS集成电路设计,数字集成电路设计等的基础上,由最底层的晶体管级别的电路连成更为复杂的电路,实现特定的功能。 关键词:CMOS、ACCUMULATOR、全加器、触发器、累加器、版图、LVS验证、仿真、cadence、集成电路、模块化设计等。

目录索引 一、选题的背景及意义 二、整体思路 三、方案选择 1.八位加法器的选择 2.触发器的选择 3.最终方案 四、设计详细内容 模块一、DESIGN A CMOS FULL ADDER 1.1 全加器介绍(包括工作原理,功能逻辑等) 1.2 全加器原理图绘制 1.3 全加器逻辑功能验证 1.4 全加器延时及功耗分析 1.5 全加器版图绘制与LVS 验证 1.6 全加器版图仿真 1.7 小结 模块二、DESIGN A MASTER-SLAVE FLIP-FLOP 2.1 触发器介绍(包括工作原理,功能逻辑等) 2.2 D触发器原理图绘制 1.首先设计三输入与非门的原理图 2.对设计的三输入与非门创建符号 3.利用创建的三输入与非门符号设计主从触发器 4.对设计的主从触发器创建符号 2.3 D触发器原理图仿真及分析 2.4 D触发器逻辑功能验证 2.5 D触发器版图绘制、LVS验证及仿真分析 1.主从触发器的版图 2.版图的提取

四位二进制加法计数器

目录 一.数字系统简介 (3) 二.设计目的和要求 (3) 三.设计内容 (3) 四.VHDL程序设计 (3) 五.波形仿真 (11) 六. 逻辑电路设计 (12) 六.设计体会 (13) 七.参考文献 (13)

一.数字系统简介 在数字逻辑设计领域,迫切需要一种共同的工业标准来统一对数字逻辑电路及系统的描述,这样就能把系统的设计分解为逻辑设计(前端),电路实现(后端)和验证桑相互独立而又相关的部分。由于逻辑设计的相对独立性就可以把专家们设计的各种数字逻辑电路和组件建成宏单元或软件核,即ip库共设计者引用,设计者可以利用它们的模型设计电路并验证其他电路。VHDL这种工业标准的产生顺应了历史潮流。 二.设计目的和要求 1、通过《数字系统课程设计》的课程实验使电子类专业的学生能深入了解集成中规 模芯片的使用方法。 2、培养学生的实际动手能力,并使之初步具有分析,解决工程实际问题的能力。三.设计内容 四位二进制加计数,时序图如下: 0000→0001→0010→0011→0110→0111→1000→1001→1010→1011→1100→→1101→1110→1111 →0000 缺0100→0101 。由JK触发器组成4位异步二进制加法计数器。 四.VHDL程序设计 四位二进制加计数,缺0100,0101(sw向上是0(on);灯亮为0) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; entity count10 is PORT (cp,r:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); end count10; ARCHITECTURE Behavioral OF count10 IS SIGNAL count:STD_LOGIC_VECTOR(3 DOWNTO 0) ; BEGIN PROCESS (cp,r) BEGIN if r='0' then count<="0000"; elsiF cp'EVENT AND cp='1' THEN if count="0011" THEN count <="0110"; ELSE count <= count +1; END IF; end if; END PROCESS; q<= count;

4位同步二进制加法计数器

4位同步二进制加法计数器 一、实验目的 1、熟悉在EDA平台上进行数字电路集成设计的整个流程。 2、掌握Max+PlusⅡ软件环境下简单的图形、VHDL文本等输入设计方法。 3、熟悉VHDL设计实体的基本结构、语言要素、设计流程等。 4、掌握利用Max+PlusⅡ的波形仿真工具验证设计的过程。 5、学习使用JTAG接口下载逻辑电路到可编程芯片,并能调试到芯片正常工作为止。 二、实验设备 1.软件 操作系统:Windows 2000 EDA软件:MAX+plus II 10.2 2.硬件 EDA实验箱:革新EDAPRO/240H 三、实验原理 1.设计分析 4位同步二进制加法计数器的工作原理是指当时钟信号clk的上升沿到来时,且复位信号clr低电平有效时,就把计数器的状态清0。 在clr复位信号无效(即此时高电平有效)的前提下,当clk的上升沿到来时,如果计数器原态是15,计数器回到0态,否则计数器的状态将加1. 2.VHDL源程序 library ieee; use ieee.std_logic_1164.all; entity cnt4e is port(clk,clr:in std_logic; cout:out std_logic; q:buffer integer range 0 to 15); end cnt4e; architecture one of cnt4e is begin process(clk,clr) begin if clk'event and clk='1'then if clr='1'then if q=15 then q<=0; cout<='0'; elsif q=14 then q<=q+1; cout<='1'; else q<=q+1; end if; else q<=0;

课程设计-同步二进制加法计数器的设计与仿真

集成电路设计报告同步二进制加法计数器的设计与仿真 院系:材料与光电物理学院 专业:微电子学一班 学号:2007700810 姓名:郭俊 指导教师:唐明华教授 报告提交日期: 2010 年 9 月

目录 摘要 (1) 关键词···································································································· (1) 1引言 (2) 2 时序逻辑电路 (4) 2.1时序逻辑电路概述 (4) 2.2同步时序逻辑电路的一般设计方法 (5) 3 设计 (7) 3.1 二进制计数器原理 (7) 3.1.1 T触发器 (7) 3.1.2 同步二进制加法计数器的原理 (7) 3.2 二进制计数器设计 (8) 3.2.1 四位二进制计数器的设计 (9) 3.2.2检查设计的电路能否自启动 (13) 4 仿真····································································································· (14) 4.1 仿真原理 (14) 4.2 仿真结果与分析 (15) 5 硬件描述语言VHDL设计及仿真 (17) 6 结论 (22)

7 体会与展望 (23) 参考文献 (24) 致谢 (25) 附录 (2) 6

同步二进制加法计数器的设计与仿真 摘要:本文首先介绍了同步时序逻辑电路一般设计步骤,然后在理解和掌握同步二进制计数器原理的基础上,采用传统的设计方法设计出了一个同步四位二进制加法计数器,并且运用MAX+Plus2软件对四位二进制计数器进行了仿真,根据仿真结果,对时序和波形进行了分析。最后采用VHDL语言设计了一个复杂的四位二进制加法计数器。 关键词:时序逻辑电路,同步二进制加法计数器,VHDL语言,MUX+plus2, 仿真 Design and simulation of synchronous binary carry counter Abstract:this paper introduces the ordinary design method of sequential logic circuit at first. Then on the basis of the principle and the structure of synchronous binary counters, I designs up a four binary carry counter.The circuit is designed and the simulation of this circuit is carried out by MUX+plus2. According to the results of the simulation, its waveform and timing delay are analyzed.At last, with the help of VHDL language,I designs up a complex synchronous binary carry counter. Keywords:sequential logic circuit, synchronous binary counters, VHDL language, MUX+plus2, simulation

8位二进制加减计数器

题目三:设计一个8位二进制加/减计数器,并仿真验证其功能。(2班1组) (要求:输入一个8位的矢量数值,在使能开关的控制下,可以实现自加或自减的循环计数) 1、设计思路:根据设计题目可知我们所设计的是一个计数器,可知它必须有一个时钟信号,还需要有一个使能端en和一个置数端m。当en为1并且m为1时,把m送给输出端,如果m=0,则开始计数;如果en=0时则保持不变。同时还要有一个加减使能端k,功能为当k=1时实行加法计数,k=0时实行减法计数。 2、VHDL程序 library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity cnt_8 is port ( clk: in STD_LOGIC; --时钟输入端口 k:in STD_LOGIC; --加减控制输入端口 clr:in STD_LOGIC; --清零端口 en:in STD_LOGIC; --使能控制端口 m:in STD_LOGIC; --置数控制端口 n:in STD_LOGIC_VECTOR (7 downto 0); --置数输入 q: out STD_LOGIC_VECTOR (7 downto 0) --数值输出 ); end cnt_8; architecture cnt_8_arch of cnt_8 is signal qq:std_logic_vector(7 downto 0); begin process(clk,clr,k,n) begin if m='1' then qq<=n; --检测是否允许置数 elsif clr='1' then --检测是否清零 qq<="00000000"; elsif clk'event and clk='1' then --检测时钟上升沿 if en='1' then --允许计数 if k='1' then --加法计数 qq<=qq+'1'; else qq<=qq-'1'; --减法计数 end if; end if; end if ; end process;

八位二进制计数器代码

数字电路课程设计 设计题目 计数器设计:设计一个8位二进制计数器。 功能要求:加减控制信号为1时,加计数;0时,减计数。 使能控制信号为1时,停止计数,并将当前计数值设置为输入值;使能控制信号为0时,计数器按照加减控制信号工作。 要求写出Verilog代码,给出仿真波形 一、设计思路 1、认真理解题目 (1)作为一个八位二进制计数器,首先,这个计数器有八个比特位;其次,二进制计数器必须按照二进制的递增计数,于一般二进制不一样。 (2)使能信号为1是停止计数,为0是开始计数。说明该计数器的使能端信号低有效。(3)控制信号位1时递增计数。控制信号位0时递减计数,说明该计数器位双向计数器。 2、设计思路 (1)递增计数和递减计数两种模式在控制变量1和0的选择下进入,因而可以采用if 语句的嵌套来实现比较容易。 (2)停止计数时可以只把之前的计数输出赋值给置位信号。 (3)经过分析,该模型的变量有使能信号、置位信号、选择模式信号、时钟信号、输出状态。 二、verilog程序 /****************************** 分频模块*************************************/

`timescale 1 ns / 1 ps module qu_dou ( clk ,rst , a ,b ); input clk ; wire clk ; input rst ; input a ; wire a ; output b ; reg b ; reg [31:0] cnt ; reg clkout ; always @ ( posedge clk or negedge rst ) begin if ( rst == 1'b0 ) cnt <= 0 ; else begin if ( a==1'b1 ) begin if ( cnt >= 32'd3000000 ) b <= 1 ; else cnt <= cnt + 1'b1 ; end else begin b <= 1'b0 ; cnt <= 0 ; end

异步二进制加法计数器

异步二进制加法计数器 教学目的:让学生掌握加法计数器的分析方法 教学重点:加法计数器的分析方法 教学难点:加法计数器的工作原理 教学方法:讲授法 教学时间:2课时 教学过程: 一、复习引入: 复习JK触发器的逻辑功能。 二、新授: (一)、异步三位二进制加法计数器 1、电路组成:由三个无空翻的T型触发器逐级串联组成的异步三位二进制加法 器(也可以由无空翻的JK型触发器构成.,书上J与K同时接1就是说J=K也就是T触发 器) 2、结构特点: (1) 每个触发顺为T’型,且带直接复位端. (2) 异步工作方式.因为输入计数脉冲只送至触发器最低位F1的CP1端,因

此,各触发器的改变与计数输入脉冲不同步. (3) 输出信号取自各Q 端,即Q 2 、 Q 1 、 Q 0. 3、 工作原理见波形图 (1)、CR 端来低电平时,计数器被清”0”,电路状态为Q 2 Q 1 Q 0=000 (2)、随着输入计数脉冲个数的增加,计数器输出端Q 2 Q 1 Q 0的读数从000至111 顺序递增,相当于十进制数字从0至7依次递增,所以为加法计数器. (3)、第8个计数脉冲输入后,计数器的状态回到000,这表示了一个循环,以后 每 输入8 个脉冲,计数器的状态循环一次. 三位二进制加法计数器的计数顺序如表6.2.1所示. 4、计数与分频. (1) 从波形图可以看出,每经过一级触发器,脉冲的频率就减少一半,因此, 计数器也称为分频电路或分频器. (2) 、对于一级触发器F 1,每两个计数脉冲作用后, F 1复”0”,同时,输出一个进 位脉冲信号,所以,F 1能记录12 =2个脉冲。从波形图看出,每2个CP 产生一 个Q 1波形,Q 1信号信号频率是CP 信号频率的1/2,即除2,故将一级(位)二进制计数器又称为2分频电路,也称除2电路. (3) 、对于二级触发器,每四个计数脉冲CP,使电路复原一次,并有并且输出一个进 位脉冲信号,所以两级能记录22 =4个计数脉冲.从波形力看出,每4 个CP 产生一个Q 2波形,Q 2信号的频率是CP 频率的1/4,即除4,故将二级二进制计数器又称4分频器. 1 2 3 4 5 6 7 8 Q O CP Q 1 Q 2

三位二进制同步加法计数器的设计

1 三位二进制同步加法计数器的设计(000,111) 1.1课程设计的目的: 1、了解同步加法计数器工作原理和逻辑功能。 2、掌握计数器电路的分析,设计方法及应用。 3、学会正确使用JK 触发器。 1.2设计的总体框图: C 图1.1六进制加法器 1.3设计过程: 1 状态图: 图1.2六进制加法状态图 2 时序图: CP : Q 2: Q 1:

Q 0: Y : 图1.3六进制加法的波形图 3选择的触发器名称: 选用三个CP 下降沿触发的边沿JK 触发器74LS112 输出方程: 图1.4输出Y 的卡诺图 Y=Q 2n Q 1n 4 图1.5六进制同步加法计数器的次态卡诺图

5各个触发器次态的卡诺图 Q 1 n Q 0n Q 2n 00 01 11 10 0 1 图1.6Q 2n+1的卡诺图 Q 1n Q 0n Q 2n 00 01 11 10 0 1 图1.7 Q 1n+1 的卡诺图

Q 1n Q 0n Q 2n 00 01 11 10 0 1 6由卡诺图得出状态方程为: Q 2 n+1 =Q 1n Q 2n + Q 1n Q 0n Q 2n Q 1n+1=Q 0n Q 1n + Q 2n Q 0n Q 1n Q 0n+1=Q 0n (1) 驱动方程: 2J = Q 1n Q 0n 1J = Q 0n 0J =1 2K = Q 1n 1K = Q 2n Q 0n 0K =1 7.检查能否自启动: /0 /1 111 000 001 (有效状态) 图1.8检测能否自启动

1.4设计的逻辑电路图: 图1.9六进制加法计数器的电路图

相关主题
文本预览
相关文档 最新文档