文档库 最新最全的文档下载
当前位置:文档库 › 采用VHDL层次化文件设计一个四位全加器

采用VHDL层次化文件设计一个四位全加器

采用VHDL层次化文件设计一个四位全加器
采用VHDL层次化文件设计一个四位全加器

采用VHDL层次化文件设计一个四位全加器

一、实训目的

1.巩固VHDL层次化文件设计方法。

2.培养应用VHDL层次化文件设计法的技能。

二、实训器材

计算机与Quartus Ⅱ工具软件。

三、实训指导

(一)实训原理

4位二进制加法器由4个全加器构成,而全加器又由一个半加器和一个或门构成,半加器的真值表如表5-1所示:

表5-1 半加器的真值表

半加器的逻辑表达式为:so=NOT(a XOR(NOT b))

co=a AND b

一位全加器的真值表如表5-2所示:

表5-2 一位全加器的真值表

(二)实训步骤

1.电路模块划分

根据算法分析,4位二进制加法器可由4个全加器构成,画出其

原理方框图。全加器原理方框图如图5-1所示。而每个全加器又可划分为一个半加器和一个或门这两个更小的模块,画出其原理方框图。4位二进制加法器原理方框图如图5-2所示。

图5-1 一位全加器原理方框图

图5-2 4位二进制加法器原理框图

2.设计底层设计文件

(1)设计半减器文件halfadd.vhd。

(2)设计或门电路文件orgate.vhd。

(3)设计全加器电路文件fulladd.vhd,其中把半加器和或门电路文件作为元件调用。

3.设计顶层设计文件

设计顶层设计文件add4.vhd,其中把全加器文件作为元件调用。

VHDL代码如下:

halfadd.vhd文件代码如下:

ENTITY halfadd IS

PORT(a,b:IN BIT;

so,co:OUT BIT);

END halfadd;

ARCHITECTURE a OF halfadd IS

BEGIN

PROCESS(a,b)

BEGIN

so<=NOT(a XOR(NOT b)) AFTER 10ns; co<=a AND b AFTER 10 ns;

END PROCESS;

END a;

orgate.vhd文件代码如下:

ENTITY orgate IS

PORT(a1,b1:IN BIT;

o:OUT BIT);

END orgate;

ARCHITECTURE a OF orgate IS

BEGIN

o<=a1 OR b1;

END a;

fulladd.vhd文件代码如下:

ENTITY fulladd IS

PORT(i1,i2,c_in:IN BIT;

fs,c_out:OUT BIT);

END fulladd;

ARCHITECTURE a OF fulladd IS

SIGNAL temp_s,temp_c1,temp_c2:BIT; COMPONENT halfadd

PORT(a,b:IN BIT;

so,co:OUT BIT);

END COMPONENT;

COMPONENT orgate

PORT(a1,b1:IN BIT;

o:OUT BIT);

END COMPONENT;

BEGIN

U0:halfadd PORT MAP(i1,i2,temp_s,temp_c1);

U1:halfadd PORT MAP(temp_s,c_in,fs,temp_c2);

U2:orgate PORT MAP(temp_c1,temp_c2,c_out);

END a;

add4.vhd文件代码如下:

ENTITY add4 IS

PORT(a,b:IN BIT_VECTOR(3 DOWNTO 0);

cin:IN BIT;

so:OUT BIT_VECTOR(3 DOWNTO 0);

co:OUT BIT);

END add4;

ARCHITECTURE a OF add4 IS

SIGNAL temp_co0,temp_co1,temp_co2:BIT;

COMPONENT fulladd IS

PORT(i1,i2,c_in:IN BIT;

fs,c_out:OUT BIT);

END COMPONENT;

BEGIN

U0:fulladd PORT MAP(a(0),b(0),cin,so(0),temp_co0);

U1:fulladd PORT MAP(a(1),b(1),temp_co0,so(1),temp_co1); U2:fulladd PORT MAP(a(2),b(2),temp_co1,so(2),temp_co2); U3:fulladd PORT MAP(a(3),b(3),temp_co2,so(3),co);

END a;

1.编译顶层设计文件

把以上各个模块的VHDL设计文件放入同一个文件夹中,以顶层文件建立工程,直接编译顶层文件同时也就编译各个底层模块文件。若有错误,则加以纠正,直到通过为止。

2.仿真顶层设计文件

最后,仿真顶层文件,若发现功能错误,应检查其原因,并加以纠正。4位二进制加法器的仿真图如图5-3所示:

图5-34位二进制加法器仿真波形图

VHDL语言实例教学内容

VHDL语言实例 例1:设计一七段显示译码器,用它来驱动七段发光管LED显示十六进制数字0到9和字母A到F。LED显示数码管为共阳极。 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY HEX2LED IS PORT( HEX :IN std_logic_vector(3 DOWNTO 0); LED : OUT std_logic_vector(6 TO 0) ); END HEX2LED; 图例1 七段显示译码 器实体 ARCHITECTURE HEX2LED_arc OF HEX2LED IS BEGIN -- HEX-TO-SEVEN-SEGMENT DECODER -- SEGMENT ENCODING -- -- ---- -- 5 | |1 -- ---- <--6 -- 4 | |2

-- ---- -- 3 WITH HEX SELECT LED<= "1111001" when "0001", "0100100" when "0010", "0110000" when "0011", "0011001" when "0100", "0010010" when "0101", "0000010" when "0110", "1111000" when "0111", "0000000" when "1000", "0010000" when "1001", "0001000" when "1010", "0000011" when "1011", "1000110" when "1100", "0100001" when "1101", "0000110" when "1110", "0001110" when "1111", "1000000" when others; END HEX2LED_arc; 例2:设计一个八选一数据选择器 1)s是通道选择信号, d0,d1,d2,d3,d4,d5,d6,d7数据输入 out1是数据输出

如何做好分层作业设计

如何做好分层作业设计 山东省福山第一中学姜蓬勃 一个班级的学生在知识能力、学习态度、学习方法等方面存在着较大的差异,而素质教育要求我们要面向全体学生,使每个学生的才能得到充分的发展。如何让优等生“吃得好”、中等生“吃得饱”、差等生“吃得了”,这就决定了现行的教育必须遵循因材施教原则,实行分层教学。所谓分层教学,即在常规的班级授课制的条件下,既注重学生在同一班级中学习的共同特征,又重视学生个体发展中的差异性。在教学中,根据学生发展水平的差异,设置不同层次的发展目标,激发学生的活力,改变学生被动学习、被动发展的状态,努力形成学生主动学习、主动发展的局面,提高全体学生的素质。 一摸底调查,划分层次 实施分层教学,首先教师必须要通过查阅学生档案、测验、平时观察、家访等各种途径,充分认识每位学生个体间的差异,综合考虑每位学生原有的水平、学习能力、学习态度等,掌握全班学生的基本情况,将学生按一定的比例分为A、B、C三个不同层次。各层次学生人数的比例一般以1:2:1为好,也就是把全班学生中的1/4学习、思想较好的编为A组,1/2一般(中等)的学生编为B组,目前1/4较差的学生编为C组,重新编排座位(座位编排如图:BB‖CA‖CA‖BB)。考虑到C组学生各方面能力相对较差,编排座位时首先让C组同学坐在中间,与A组同桌,这样有利于A组生发挥榜样示范作用,带动C组学生,使C组学生在有意无意中受到启发和帮助,并向学生说明这种分组和座位不是一成不变的,经过一段时间的学习测试,不间断调整。为防止分层带来的不利因素的影响,在做好学生工作的基础上,召开家长会,向家长讲清分层是一种手段,让差等生有更多的指导机会,培养优等生的自学能力,全面提高全体学生素质才是目的,以取得家长的理解、支持。以发展的眼光,公正的态度客观地划分学生的层次,是实施分层教学的基础。 二加强练习的设计 可将作业难易程度分为A、B、C三个层次。思维能力、理解能力都比较强的学生可选择C,中等可选B,稍差可选A。 例如:在教学了《长方体和正方体》之后,可以便设计了如下的作业: A、一个长方体纸盒的长是6厘米、宽是4厘米、高是3厘米,做这个纸盒多少平方厘米的纸?它的体积是多少?

VHDL编写一位全加器参考程序

这是茄子求别人写的参考程序,不一定能实际运行。但是可靠性在百分之九十左右。大家做不出来的可以参考下。做出来的看出错误请指正。我作为学习委员既然把答案给大家,一方面是不想影响大家平时成绩,另一方面也是希望大家可以自己看看,学习一下,不要到最后结课了着急。所以我晚上不收打印的作业,每个人都必须亲自抄写出来。 行为描述方式 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADD11 IS PORT(A:IN STD_LOGIC; B:IN STD_LOGIC; CIN:IN STD_LOGIC; CO:OUT STD_LOGIC; S:OUT STD_LOGIC); END ADD11; ARCHITECTURE BEHAVE OF ADD11 IS BEGIN PROCESS(A,B,CIN) VARIABLE N: INTEGER RANGE 0 TO 3; CONSTANT S_VECTOR: STD_LOGIC_VECTOR(0 TO 3):="1010"; CONSTANT CO_VECTOR: STD_LOGIC_VECTOR(0 TO 3):="1100"; BEGIN N:=0; IF(A='1') THEN N:=N+1; END IF; IF(B='1') THEN N:=N+1; END IF; IF(CIN='1') THEN N:=N+1; END IF; S<=S_VECTOR(N); CO<=CO_VECTOR(N); END PROCESS; END BEHAVE; 数据流描述方式 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ADD2 IS PORT(A:IN STD_LOGIC; B:IN STD_LOGIC; CIN:IN STD_LOGIC; CO:OUT STD_LOGIC; S:OUT STD_LOGIC);

用VHDL设计三八译码器超赞版

3-8 译码器的设计 1 设计目的与要求 随着社会的进一步发展,我们的生活各个地方都需要计算机的参与,有了计算机,我们的生活有了很大的便利,很多事情都不需要我们人为的参与了,只需要通过计算机就可以实现自动控制。由此,计算机对我们的社会对我们每个人都是很重要的。所以我们要了解计算机得组成,内部各种硬件,只有了解了计算机基本器件已经相应的软件,才能促进社会的发展。编码器和译码器的设计是计算机的一些很基础的知识,通过本次对于编码器和译码器的设计,可以让我知道究竟这种设计是如何实现的,这种设计对我们的生活有什么帮助,这种设计可以用到我们生活的哪些方面,对我们的各种生活有什么重大的意义。 1.1 设计的目的 本次设计的目的是通过简单的译码器的设计掌握基本的计算机的一些有关的知识,通过查资料已经自己的动手设计去掌握EDA技术 的基本原理已经设计方法,并掌握VHDL硬件描述语言的设计方法和 思想。以计算机组成原理为指导,通过将理论知识,各种原理方法与实际结合起来,切实的亲手设计,才能掌握这些非常有用的知识。通过对编码器和译码器的设计,巩固和综合运用所学知识,提高IC 设计能力,提高分析、解决计算机技术实际问题的独立工作能力。也能通过这种自主设计,增强自己的动手能力,将理论知识切实应用的能力,这对我们将来的发展是很有帮助的。 1.2 设计要求 根据计算机组成原理中组合逻辑电路设计的原理,利用VHDL设计计算机电路中译码器的各个模块,并使用EDA工具对各模块进行 仿真验证和分析。译码器由三- 八译码器为实例代表。

关键词:输入、输出、译码2 VHDL 的简单介绍 2.1 VHDL 的简介 VHDL语言是一种用于电路设计的高级语言。它在80年代的后期 出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。VHDL 翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。目前,它在我过的应用多数是用在FP GA/C PLD/E PL的设计中。 当然在一些实力较为雄厚的单位,它也被用来设计ASIG VHDL主要 用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHD啲程序结构特点是将一项工程设计, 或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。 2.2 VHDL 的特点 1,功能强大,设计灵活: VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描 述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路 的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设 计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。 2,, 支持广泛,易于修改: 由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA

16第7章 层次化设计

第七章大型设计中的层次结构 7.1 设计方法概述 CAD: Computer Aided Design CAD技术是电子信息技术发展的杰出成果,它的发展与应用引发了一场工业设计和制造领域的革命。 EDA: Electronic Design Automation 采用CAD技术进行电子系统和专用集成电路设计的技术。 EDA技术可面向三个不同的层次,即系统级、电路级和物理实现级。 现代EDA技术的特征: 高级语言描述 系统仿真(system simulation) 综合优化(synthesis) 传统的电子系统设计基本上采用自底向上(bottom-up)的设计方法,利用SPICE完成模拟验证。这种方法要求设计者具有丰富的设计经验。大部分电子系统的设计工作需要设计专家人工完成,同时任何一次设计方案的修改,都意味着一次详细设计过程的重复,再加上模拟验证速度较慢,因此无论在设计时间还是在设计精度上都不十分令人满意。采用人工的自底向上设计方法,已很难满足当今电子系统的设计要求。 现在EDA采用的(top-down)的自顶向下的设计方法有效地实现了设计周期、系统性能和系统成本之间的最佳权衡。这是一种层次化的设计方法。设计在尽可能高的层次上开始进行,从而使设计者能在更大的空间内进行设计搜索,理解整个系统的工作状态,完成设计的权衡和相关的设计决策。 自上而下的设计方法,首先从系统设计入手,从顶层进行功能方框图划分和结构设计,这时的设计与工艺无关。在方框图一级先进行仿真和纠错,用VHDL语言对高层次的系统行为级进行描述并在系统级进行验证。然后,用逻辑综合优化工具生成具体门级逻辑电路的EDIF(Electronic Design Interchange Format,电子设计转换格式)网表,对应的物理实现级可以是PCB板或者是ASIC芯片。 设计的仿真和调试过程主要是在高层次完成,一方面有利于早期发现结构设计上的错误,避免设计工作的浪费,同时也减少了逻辑仿真的工作量。 自顶向下的设计方法方便了从系统级划分和管理整个项目;简化了设计队伍的管理;减少了不必要的重复;提高了设计的一次成功率。同时,自顶向下的设计方法还提供整个设计过程中的各设计阶段的统一规范管理,包括系统的测试和各层次的模拟验证。

VHDL实现16位全加器

[键入公司名称] [键入文档标题] [键入文档副标题] 姓名:托列吾别克·马杰尼 班级:电路与系统01班 学号:201221020141 2013/11/24

基于VHDL的16位全加器的设计 1.1设计题目的内容及要求 1.1.1目的: CMOS数字集成电路设计流程及数字集成电路自动化设计,包括功能验证、VHDL/Verlog建模、同步电路设计、异步数据获取、能耗与散热、信号完整性、物理设计、设计验证等技术 1.1.2内容: 主要实验内容是用0.18μm数字CMOS工艺,VHDL或Verlog设计一个16位全加器,用Synthesis 仿真工具验证功能,电路合成,及性能检测。 1.1.3主要测试参数及指标范围: 16位的全加器主要的设计指标是高于1GHz的频率,功耗,物理面积大小等参数。 1.2全加器的组成和原理分析 全加器是常用的组合逻辑模块中的一种,对全加器的分析和对组合逻辑电 路的分析一样。组合逻辑电路的分析,就是找出给定电路输入和输出之间的逻 辑关系,从而了解给定逻辑电路的逻辑功能。组合逻辑电路的分析方法通常采 用代数法,一般按下列步骤进行: (1)根据所需要的功能,列出真值表。 (2)根据真值表,写出相应的逻辑函数表达式。 (3)根据真值表或逻辑函数表达式,画出相应的组合逻辑电路的逻辑图[1]。 (4)用VHDL编写程序在QUARTUSⅡ上进行模拟,并分析结果的正确性。 1.3 全加器简介

全加器是组合逻辑电路中最常见也最实用的一种,考虑低位进位的加法运算就是全加运算,实现全加运算的电路称为全加器。它主要实现加法的运算,其中分为并行全加器和串行全加器,所谓并行就是指向高位进位时是并行执行的,而串行就是从低位到高位按顺序执行,为了提高运算,必须设法减小或消除由于进位信号逐级传递所消耗的时间,为了提高运算速度,制成了超前进位加法器,这是对全加器的一种创新[2]。 1.3.1半加器的基本原理 如果不考虑有来自低位的进位将两个1位二进制数相加,称为半加。实现半加运算的电路称为半加器。 按照二进制加法运算规则可以列出如表2所示的半加器真值表,其中A、B 是两个加数,S是相加的和,CO是向高位的进位。将S、CO和A、B的关系写成逻辑表达式则得到 S=A B+A B=A+B CO=AB 表1 半加器的真值表 因此,半加器是由一个异或门和一个与门组成的,如图1所示。

EDA与VHDL实现8位加法器

EDA技术与VHDL实训 姓名:李* 班级:电信**-* 学号:12******** 电子与信息工程学院

8位加法器设计 一实训目的 1.学习使用VHDL语言设计电路,加深对VHDL语言的理解与应用。 2.学习8位加法器的VHDL程序设计方法。 3.学习例化语句的应用,并能够利用例化语句完成从半加器到全加器的设计。 二加法器 加法器是为了实现加法的。即是产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。 对于1位的二进制加法,相关的有五个的量:1,被加数A,2,被加数B,3,前一位的进位CIN,4,此位二数相加的和S,5,此位二数相加产生的进位COUT。前三个量为输入量,后两个量为输出量,五个量均为1位。 对于32位的二进制加法,相关的也有五个量:1,被加数A(32位),2,被加数B(32位),3,前一位的进位CIN(1位),4,此位二数相加的和S(32位),5,此位二数相加产生的进位COUT(1位)。 要实现32位的二进制加法,一种自然的想法就是将1位的二进制加法重复32次(即逐位进位加法器)。这样做无疑是可行且易行的,但由于每一位的CIN都是由前一位的COUT 提供的,所以第2位必须在第1位计算出结果后,才能开始计算;第3位必须在第2位计算出结果后,才能开始计算,等等。而最后的第32位必须在前31位全部计算出结果后,才能开始计算。这样的方法,使得实现32位的二进制加法所需的时间是实现1位的二进制加法的时间的32倍。 三实训内容 首先设计半加器,然后用例化语句将它们连接起来。利用半加器和或门构成1位全加器,以1位全加器为基本硬件,构成串行进位的8位加法器。 3.1 设计1位半减器 利用真值表设计1位半减器。图3-1中的h_add是半加器,sum是输出和,a_out是进位输出,add_in是进位输入。 表3-1 加法真值表 加数x 加数y 和sum 进位a_out 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1

FPGA设计实例 四位加法器(含VHDL源程序)

EDA FPGA 四位加法器设计说明:程序使用原件例化语句编写。 半加器程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY bjq IS PORT(A,B:IN STD_LOGIC; Y,Co:OUT STD_LOGIC); END bjq; ARCHITECTURE bjqbehv OF bjq IS SIGNAL c,d:STD_LOGIC; BEGIN c<=A OR B; d<=A NAND B; Co<=NOT d; Y<=c AND d; END bjqbehv; 全加器程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY qjq IS PORT(Ci,A,B:IN STD_LOGIC;

S,Co:OUT STD_LOGIC); END qjq; ARCHITECTURE qjqbehv OF qjq IS BEGIN S<=A XOR B XOR Ci; Co<=(A AND B) OR (A AND Ci) OR (B AND Ci); END qjqbehv; 加法器例化程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY jfq4 IS PORT(A,B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Co:OUT STD_LOGIC); END jfq4; ARCHITECTURE jfq4behv OF jfq4 IS COMPONENT qjq PORT(Ci,A,B:IN STD_LOGIC; S,Co:OUT STD_LOGIC); END COMPONENT; COMPONENT bjq PORT(A,B:IN STD_LOGIC; Y,Co:OUT STD_LOGIC); END COMPONENT; SIGNAL C0,C1,C2:STD_LOGIC; BEGIN u1:bjq PORT MAP(A(0),B(0),Y(0),C0); u2:qjq PORT MAP(C0,A(1),B(1),Y(1),C1); u3:qjq PORT MAP(C1,A(2),B(2),Y(2),C2); u4:qjq PORT MAP(C2,A(3),B(3),Y(3),Co); END ARCHITECTURE jfq4behv; 兄弟加qq 352995783,技术交流。 暮落 2011年12月2日

用VHDL设计三八译码器。。超赞版

3-8译码器的设计 1 设计目的与要求 随着社会的进一步发展,我们的生活各个地方都需要计算机的参与,有了计算机,我们的生活有了很大的便利,很多事情都不需要我们人为的参与了,只需要通过计算机就可以实现自动控制。由此,计算机对我们的社会对我们每个人都是很重要的。所以我们要了解计算机得组成,内部各种硬件,只有了解了计算机基本器件已经相应的软件,才能促进社会的发展。编码器和译码器的设计是计算机的一些很基础的知识,通过本次对于编码器和译码器的设计,可以让我知道究竟这种设计是如何实现的,这种设计对我们的生活有什么帮助,这种设计可以用到我们生活的哪些方面,对我们的各种生活有什么重大的意义。 1.1 设计的目的 本次设计的目的是通过简单的译码器的设计掌握基本的计算机的一些有关的知识,通过查资料已经自己的动手设计去掌握EDA技术的基本原理已经设计方法,并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过将理论知识,各种原理方法与实际结合起来,切实的亲手设计,才能掌握这些非常有用的知识。通过对编码器和译码器的设计,巩固和综合运用所学知识,提高IC设计能力,提高分析、解决计算机技术实际问题的独立工作能力。也能

通过这种自主设计,增强自己的动手能力,将理论知识切实应用的能力,这对我们将来的发展是很有帮助的。 1.2 设计要求 根据计算机组成原理中组合逻辑电路设计的原理,利用VHDL设计计算机电路中译码器的各个模块,并使用EDA 工具对各模块进行仿真验证和分析。译码器由三-八译码器为实例代表。 关键词:输入、输出、译码 2 VHDL的简单介绍 2.1 VHDL的简介 VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。 VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。目前,它在我过的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体

VHDL实现16位全加器

[键入公司名称] [键入文档标题] [键入文档副标题] 姓名:托列吾别克?马杰尼 班级:电路与系统01班 学号:201221020141

[键入公司名称] 2013/11/24

基于VHDL的16位全加器的设计 1.1设计题目的内容及要求 i.i.i 目的: CMOS数字集成电路设计流程及数字集成电路自动化设计,包括功能验证、VHDL/Verlog建模、同步电路设计、异步数据获取、能耗与散热、信号完整性、物理设计、设计验证等技术 1.1.2内容: 主要实验内容是用0.18阿数字CMOS工艺,VHDL或Verlog设计- 个16位全加器,用Synthesis仿真工具验证功能,电路合成,及性能检测。 1.1.3主要测试参数及指标范围: 16位的全加器主要的设计指标是高于1GHz的频率,功耗,物理面积大小等参数。 1.2全加器的组成和原理分析 全加器是常用的组合逻辑模块中的一种,对全加器的分析和对组合逻辑电路的分析一样。组合逻辑电路的分析,就是找出给定电路输入和输出之间的逻辑关系,从而了解给定逻辑电路的逻辑功能。组合逻辑电路的分析方法通常采用代数法,一般按下列步骤进行: (1)根据所需要的功能,列出真值表。 (2)根据真值表,写出相应的逻辑函数表达式。 (3)根据真值表或逻辑函数表达式,画出相应的组合逻辑电路的逻辑图 (4)用VHDL编写程序在QUARTUS U上进行模拟,并分析结果的正确性。 1.3全加器简介

全加器是组合逻辑电路中最常见也最实用的一种,考虑低位进位的加法运 算就是全加运算,实现全加运算的电路称为全加器。它主要实现加法的运算, 其中分为并行全加器和串行全加器,所谓并行就是指向高位进位时是并行执行 的,而串行就是从低位到高位按顺序执行,为了提高运算,必须设法减小或消除由于进位信号逐级传递所消耗的时间,为了提高运算速度,制成了超前进位加法器,这是对全加器的一种创新[2]。 1.3.1半加器的基本原理 如果不考虑有来自低位的进位将两个1位二进制数相加,称为半加。实现 半加运算的电路称为半加器。 按照二进制加法运算规则可以列出如表2所示的半加器真值表,其中A、B 是两个加数,S是相加的和,CO是向咼位的进位。将S、CO和A、B的关系写成逻辑表达式则得到 S=A B+A B=A+B CO=AB 因此,半加器是由一个异或门和一个与门组成的,如图1所示。

8位加法器设计程序过程

实验8位加法器设计 一、实验目的 熟悉利用QuartusⅡ的图形编辑输入法设计简单组合电路,掌握层次化设计方法,并通过8位全加器的设计,进一步熟悉利用EDA软件进行数字系统设计的流程。 二、实验仪器与器材 计算机1台,GW48-PK2S实验箱1台,QuartusⅡ6.0 1套。 三、实验内容 1. 基本命题 利用图形输入法设计一个一位半加器和全加器,再利用级联方法构成8位加法器。 2. 扩展命题 利用文本输入法设计4位并行进位加法器,再利用层次设计方法构成8位加法器。通过时序仿真,比较两种加法器的性能。 四、实验设计思路 按照如图2-1,2-2,2-3设计半加器、全加器、串行级联加法器 ①设计半加器 图2-1半加器设计图 ②设计全加器

图2-2全加加器设计图 ③设计串行级联8位加法器 图2-3串行级联8位加法器设计图 ④仿真波形图 对以上的串行级联加法器进行仿真。设置时钟频率为/1/10ns。每20ns对a,b输入口进行+2操作。所得结果见图2-8。由图可知延时大约为14ns。

图2-4串行级联加法器仿真波形图 对以上的串行级联加法器进行仿真。设置时钟频率为/2.0us。每10us对a,b输入口进行 +2操作。所得结果见图2-4。由图可知延时大约为10us。 五、实验要求 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试实验结果写进实验报告。 六、实验思考题 (1)与单一设计文件比较,实现层次化设计应注意哪些问题? 答:实现层次化设计需要注意的是:假设B设计中引用A设计,那么需要将A 设计的工程文件放在B设计的工程文件中,另外,B设计的工程必须要以B的实体名称对应,不然仿真的时候会出错。 (2)比较图形编辑和文本编辑两种8位二进制加法器的性能,分析它们的主要异同点。以下是文本编辑的参考程序。 1) 4位二进制数加法器ADDER4B的VHDL描述 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADDER4B IS PORT ( CIN4 : IN STD_LOGIC; A4 : IN STD_LOGIC_VECTOR(3DOWNTO0);

FPGA VHDL4位全加器

《FPGA原理及应用》 实验报告书 (4) 用例化语句设计4位全加器题目 学院专业 姓名学号 指导教师 2015年 10-12月

1.实验目的 (1)进一步熟悉和掌握Qartus II的使用方法; (2)进一步掌握FPGA实验箱使用方法; (3)学习和掌握电路原理图的设计流程; (4)深化理解顶层设计的概念和构建电路的方法 2.实验内容 使用Qartus II的元件库,通过元件图的方式设计具有4位全加器功能的程序,并使用FPGA实验箱对程序进行硬件下载,验证。 3.实验条件 开发软件:Qartus II 8.0 实验设备:FPGA实验箱 拟用芯片:Altera EP3C55F484C8 4.实验设计 1)系统原理 多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 四位全加器可对两个多位二进制数进行加法运算,同时产生进位。当两个二进制数相加时,较高位相加时必须加入较低位的进位项(Ci),以得到输出为和(S)和进位(C0)。 其中CIN表示输入进位位,COUT表示输出进位位,输入A和B分别表示加数和被加数。输出SUM=A+B+CIN,当SUM大于255时,COUT置‘1’。 图4-1 4位全加器原理图 2)程序代码

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY adder1 IS --1位全加器设计 PORT(a,b,cin:IN STD_LOGIC; s,cout:OUT STD_LOGIC); END adder1; ARCHITECTURE dataflow OF adder1 IS --用数据流方式设计1位全加器SIGNAL tmp:STD_LOGIC; --用tmp表示a⊕b BEGIN tmp<=a XOR b AFTER 10 ns; s<=tmp XOR cin AFTER 10 ns; cout<=(a AND b)OR(tmp AND cin) AFTER 20 ns; END dataflow; LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY adder4 IS --4位全加器设计 PORT(a,b:IN STD_LOGIC_VECTOR(3 DOWNTO 0); cin:IN STD_LOGIC; s:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); cout:OUT STD_LOGIC); END adder4;

分层作业设计

分层作业设计集团档案编码:[YTTR-YTPT28-YTNTL98-UYTYNN08]

分层作业设计 学科;语文教学内容:四年级下册29《寓言两则》 作业设计目标:1、巩固对生字、词语的掌握;结合实际谈感受,加深对寓意的理解;学习文本表达上的特点,尝试运用。2、减轻学生课业负担,让不同层次的学生都能尝到“跳一跳吃果子”的乐趣,焕发学习热情。 1、生字一个写4个,你认为难写的字再加抄两次。词语抄写两次,听写词语。 2、选择合适的关联词语填空: 虽然……但是……不但……还……如果……就…… (1)蔡桓公()不听扁鹊的劝告,()在背后说扁鹊的坏话。 (2)()纪昌已经取得了不小的成绩,()飞卫觉得他的眼力还不够。 (3)扁鹊告诉蔡桓公,()蔡桓公的病不治,()会越来越重。 3、看书选一则寓言故事讲给家长听。阅读其他寓言两则。 设计意图:对于学困生,最基础的字词还是需要掌握的,本课生字中“妻”“刺”“蔡”难写易错,所以要相对多写几次。通过填空,加深对课文内容的理解,练习关联词的运用。借助书本复述寓言故事,对学困生来说,有点难度,但也要逐渐培养他们的表达能力。 难易程度:适合后20%学生。字词句的训练,内容简单,夯实基础。 1、生字组词,一个组两个。词语抄写一次,串成句子听写。 2、不看书本把两则寓言故事讲给家长听。阅读其他寓言故事。 3、写一段话(二选一):《纪昌学射》给我的启示《扁鹊治病》给我的启示 设计意图:作业1“连词成句”来听写,给学生由积累到运用词语搭起了一条快捷通道。作业2是落实本单元学习导语中提到的学习重点——“练习复述,并搜集一些故事”阅读。作业3将理解寓意与写话训练融为一体,综合检测学生的读写能力。 难易程度:适合中等学生。注重听说读写综合能力的训练。 1、词语抄写一次,串成句子听写。 2、阅读其他寓言故事,准备一则在班级上交流。 3、读《扁鹊治病》,探究表现手法,完成以下问题: (1)蔡桓公的病情越来越厉害:()——()——()——() (2)全文是按什么顺序来写的,你发现了吗?从哪些词语中知道的?请写出相关词语。 (3)课文2、3、4自然段表现方法很相似,你发现了吗? 学习《扁鹊治病》的表现手法,改写《小虫与大船》的故事。 故事人物:船工与船老板 故事经过:船板上有一个虫蛀的孔——船板被虫蛀孔后渗水——船板孔变大,流入海水——船板被打穿,船进水沉没。 设计意图:文本无非是个例子。对于优等生,不能老是重复昨天的故事,要相信他们具有举一反三的能力,布置带挑战性的作业,提升他们的能力。作业3要求学生能复述课外阅读的寓言故事,并讲出自己的收获。作业4要求学生关注文本在语言表达方面的特点——按时间顺序构段,通过人物的语言、神态来表现人物的想法等,用给定的相关材料尝试写一则寓言。 难易程度:适合优等生,本班的前30%学生。探索拓展题,

基于VHDL 4位加法器的设计

实验三基于VHDL 4位加法器的设计 一、实验目的 1、进一步熟悉QUARTUS II软件的使用方法和VHDL输入的全过程。 2、进一步掌握实验系统的使用。 二、实验原理 图 2-1 半加器原理图 图 2-2 1位全加器原理图 图 2-3 4 位加法器原理图 4 位加法器(如图 2-3)是以 1 位全加器作为基本硬件,由 4 个 1 位全加器串行构成,1位全加器又可以由两个1位的半加器和一个或门连接而成(如图 2-2),而1位半加器可以由若干门电路组成(如图 2-1)。

三、实验内容 本次实验使用 Altera FPGA 的开发工具 Quartus Ⅱ,利用原理图输入设计方法设计一个 4位加法器,取实验板上的 8 位按键的高 4 位与低 4 位分别作为 4 位加数与被加数,其中 8 个 LED 取 5 位作为结果输出,LED2~LED5 作为 4 位相加之和的输出结果,LED1作为两数高 4 位相加的进位 (LED 亮,表示低电平“0”, LED 灭,表示高电平“1”) 四、实验步骤 1、打开QUARTUS II软件,新建一个工程。 2、建完工程之后,再新建一个VHDL File。新建一个VHDL文件的过程如下: 1)选择QUARTUS II软件中的File->New命令,出现New对话框。如图2-1所示。 图2-1 新建设计文件选择窗口 2)在New对话框(图2-1)中选择Design Files页下的VHDL File,点击OK按钮,打开VHDL编辑器对话框,如图2-2所示。

图2-2 VHDL编辑窗口 3、按照实验原理和自己的想法,在VHDL编辑窗口编写1位半加器的VHDL程序。如图 2-3所示。 图2-3 1位半加器VHDL程序 4、编写完半加器VHDL程序后,保存,文件名为h_adder.vhd(注意文件名要与实体名 保持一致),再将半加器文件设置为顶层文件,然后进行编译并仿真,对程序 的错误进行修改。 5、再用同样的方法进行或门的VHDL程序(or2a.vhd)输入、编译和仿真。 图2-4 或门VHDL程序 6、利用半加器与或门进行1位全加器的VHDL程序(f_adder.vhd)设计、编译与仿真。

EDA VHDL 4位全加器实验报告解析

姓名:车琳班级:通信1101班 学号:0121109320130 实验一用原理图输入法设计4位全加器 一、实验目的 1)熟悉利用Quartus II 的原理图输入方法设计简单组合电路; 2)掌握层次化设计的方法; 3)通过一个4位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 二、实验内容 1)完成半加器、全加器和4位全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。键1、键2、键3(PIO0/1/2)分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum和cout。 2)建立一个更高的层次的原理图设计,利用以上获得的1位全加器构成的4位全加器,并完成编译、综合、适配、仿真和硬件测试。建议选择电路模式1:键2、键1输入4位加数:键4、键3输入4位被加数:数码6和数码5显示加和:D8显示进位cout。 三、实验仪器 1)计算机及操作系统; 2)QuartusII软件; 3)编程电缆。

四、实验原理 一个4位全加器可以由4个一位全加器 构成,加法器间的进位可以串行方式实现, 即将低位加法器的进位输出 cout 与相邻的 高位加法器的最低进位输入信号 cin 相接。 一个1位全加器可以参考教材介绍的方 法来完成。1位全加器示意图如图1所示。 其中,其中CI 为输入进位位,CO 为输出进位位,输入A 和B 分别为加数和被加数。S 为输出和,其功能可用布尔代数式表示为: i i i i o i i i ABC ABC ABC ABC C ABC C B A C B A C B A S +++=+++= 五、实验步骤 1、完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。键1、键 2、键3(PIO0/1/2)分别接ain 、bin 、cin ;发光管D2、D1(PIO9/8)分别接sum 和cout 。 2、建立一个更高层次的原理图设计,利用以上获得的1位全加器构成4位全加器,并完成编译、综合、适配、仿真、和硬件测试。建议选择电路模式1(附图F-2):键2、键1输入4位加数:键4、键3输入4位被加数:数码6和数码5显示加和:D8显示进位cout 。 1、一位全加器设计输入 1)创建文件。采用File\new 菜单,创建图形文件。 2)添加元件。采用菜单symbol\enter symbol ,在弹出的对话框中选中相应的库与元件,添加元件,构成一位全加器并保存。 2、一位全加器元件的创建 1)对上述文件编译综合仿真。 2)生成元件。 3)采用菜单FILE\CREATE SYMBOL 生成一位全加器元件。

VHDL四位全加器三种语言编程

四位全加器的三种VHDL语言描述方式: 一:数据流描述方式 libraryieee; use ieee.std_logic_1164.all; entity add1 is port(a,b,cin:instd_logic; s,cout:outstd_logic); end add1; architecture dataflow of add1 is begin s<=(a xor b) xorcin; cout<=((a xor b)and cin)or(a and b); end dataflow; 二:行为描述方式 libraryieee; use ieee.std_logic_1164.all; useieee.std_logic_unsigned.all; entity add22 is port(a,b,cin:instd_logic; s,co:outstd_logic); end add22; architecture dataflow of add22 is signaltmp:std_logic; begin process(a,b,cin) variable n:integer range 0 to 3; constants_vector: std_logic_vector(3 downto 0):="1010"; constantco_vector: std_logic_vector(3 downto 0):="1100"; begin n:=0; if a='1' then n:=n+1; end if; if b='1' then n:=n+1; end if; ifcin='1' then n:=n+1; end if; s<=s_vector(n) after 10 ;

VHDL必须掌握的知识点和相关例题整理

VHDL总复习之 必须要掌握的知识点和相关例题 目录 VHDL总复习之必须要掌握的知识点和相关例题................... 错误!未定义书签。 1. VHDL语言的基本设计实体和完整的VHDL语言程序的结构 ... 错误!未定义书签。 2. 进程(PROCESS)语句的结构............................ 错误!未定义书签。 3. VHDL语言子程序的结构................................ 错误!未定义书签。 (1). 过程(Procedure).............................. 错误!未定义书签。 (2). 函数(Function)............................... 错误!未定义书签。 4. 过程与函数的主要区别................................. 错误!未定义书签。 5. 进程和子程序中使用的语句............................. 错误!未定义书签。 6. VHDL语言中客体的概念及使用范围...................... 错误!未定义书签。 7. 信号和变量的区别及作用范围........................... 错误!未定义书签。 8. VHDL语言的数据类型和运算操作........................ 错误!未定义书签。 9. VHDL语言构造体的三种描述方式........................ 错误!未定义书签。 10. COMPONENT(元件)语句和COMPONENT—INSTANT(元件例示)语句的功能和书写 格式错误!未定义书签。 11. VHDL语言的主要描述语句的功能、使用场合和语法格式 .. 错误!未定义书签。 12. VHDL语言的命名规则................................ 错误!未定义书签。 13. VHDL语言的数值类属性描述.......................... 错误!未定义书签。 14. VHDL语言的信号属性函数............................ 错误!未定义书签。 15. 数值系统的定义方法,各种状态的含义................. 错误!未定义书签。 16. 采用有限状态机进行电路设计的基本方法............... 错误!未定义书签。 17. 仿真Δ延时引入的原因和对并发语句仿真结果的影响..... 错误!未定义书签。 18. 逻辑综合的概念与主要步骤........................... 错误!未定义书签。 19. 运用VHDL语言和FPGA进行电路设计的主要步骤......... 错误!未定义书签。

四位全加器的VHDL与VerilogHDL完成

中资料试卷电气设备,在安装过程中以及安装结束后进行 高

use ieee.std_logic_1164.all; entity h_adder is port (a,b:in std_logic; so,co:out std_logic); ――定义输入、输出端口 end h_adder; architecture bh of h_adder is begin so<=a xor b; ――“异或”运算 co<=a and b; ――“与”运算 end bh; (二) 全加器 1位全加器可由两个半加器组成,在半加器的基础上,采用元件调用和例化语句, 将件连接起来,而实现全加器的VHDL 编程和整体功能。全加器包含了两个半加 器和一个或门。在此基础上可设计出四位全加器。 六、四位全加器 四位全加器VHDL 程序代码如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity add4 is port(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 add4; 、管路敷设技术通过管线不仅可以解决吊顶层配置不规范高中资料试卷问题,而且可保障各类管路习题到位。在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行 高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况 ,然后根据规范与规程规定,制定设备调试高中资料试卷方案。 、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

相关文档
相关文档 最新文档