05第6章 VHDL设计应用实例(8位加法器的设计)

合集下载

8位加法器的设计

8位加法器的设计

实验二8位加法器的设计1.实验目的:(1)学习使用Quartus II软件的基本用法(2)了解和掌握VHDL语言的语法规则和编程方法及基本流程(3)了解VHDL语言的基本结构(4)掌握元件例化设计思想2.实验内容设计一个由两个4位二进制并行加法器级联而成的8位加法器。

参考设计方案:加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。

多位加法器的构成有两种方式:并行进位和串行进位方式。

并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。

并行进位加法器通常比串行级联加法器占用更多的资源。

随着位数的增加,相同位数的并行加法器与串行加法器的资源占用差距也越来越大。

因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。

实践证明,4位二进制并行加法器和串行级联加法器占用几乎相同的资源。

这样,多位加法器由4位二进制并行加法器级联构成是较好的折中选择,下图即为八位加法器原理框图。

3.实验要求(1)画出系统的RTL原理框图,说明系统中个主要成分的功能(2)编写VHDL程序(3)进行系统时序仿真,画出时序图(4)记录实验过程中遇到的问题及解决办法4.程序设计5.生成RTL电路图如图所示,一个8位加法器由2个4位二进制并行加法器级联构成,4位二进制并行加法器U1的进位输出串接在U2的低位进位CIN上,4位二进制并行加法器U1的输入是A、B、CIN,4位二进制并行加法器U2的输入是A、B和由U1来的进位CONT,从而得到一个8位全加器。

6.仿真波形7.实验心得在本次实验中我遇到的问题是,刚开始我以为只要把4位二进制并行加法器和8位二进制加法器的VHDL程序代码全打在ADDER8B 中编译就可以了,这样做虽然也能够编译成功,但是,结果是,Quartus II软件只默认编译的第一个源程序,也就是4位二进制并行加法器的源程序。

结果我尝试了很久才发现,原来要把两个.vhd文件分开书写,并且8位二进制加法器的顶层文件名要与程序的实体名称一致。

EDA实验六8位二进制全加法器的设计说明

EDA实验六8位二进制全加法器的设计说明

《电子设计自动化》实验报告实验六实验名称:8位二进制全加法器的设计专业及班级:姓名:学号:一、实验目的:1.掌握VHDL语言的基本结构。

2.掌握全加器原理,能进行多位加法器的设计。

3.掌握VHDL语言的基本描述语句特别是元件例化语句的使用方法。

二、实验内容设计并实现一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器。

要求编写4位加法器的VHDL语言程序,顶层8位加法器的设计要求利用元件例化语句进行设计,并利用开发工具软件对其进行编译和仿真,最后通过实验开发系统对其进行硬件验证。

三、实验步骤〔附源代码及仿真结果图:1.根据4位二进制加法器的原理,利用VHDL语言的基本描述语句编写出4位加法器的VHDL语言程序。

--ADDER4B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER4B ISPORT< C4: IN STD_LOGIC;A4: IN STD_LOGIC_VECTOR<3 DOWNTO 0>;B4: IN STD_LOGIC_VECTOR<3 DOWNTO 0>;S4: OUT STD_LOGIC_VECTOR<3 DOWNTO 0>;CO4: OUT STD_LOGIC>;END ENTITY ADDER4B;ARCHITECTURE ART OF ADDER4B ISSIGNAL S5:STD_LOGIC_VECTOR<4 DOWNTO 0>;SIGNAL A5,B5:STD_LOGIC_VECTOR<4 DOWNTO 0>;BEGINA5<='0'& A4;B5<='0'& B4;S5<=A5+B5+C4;S4<=S5<3 DOWNTO 0>;CO4<=S5<4>;END ARCHITECTURE ART;2.对所设计的4位二进制加法器的VHDL程序进行编译,然后对其进行仿真,初步验证程序设计的正确性。

实验三 用原理图输入法设计8位全加器

实验三 用原理图输入法设计8位全加器

实验三用原理图输入法设计8位全加器一、实验目的:熟悉和掌握用QUARTUS Ⅱ的原理图输入方法设计简单组合电路的方法,并通过一个8位全加器的设计掌握用EDA软件进行电子线路设计的详细流程。

二、实验原理:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低位输入信号cin相接。

三、实验内容:1.打开原理图编辑器,完成半加器和全加器的设计。

包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路符号入库。

详细的过程见教材相关章节。

根据以上步骤画出以下原理图:1位半加器的原理图。

名字hadder.2.在完成1位半加器的原理图后,进行编译综合之后,选择File\create\Create Symbol file for current file,将文件变成一个包装好的单一元件模块待调用。

运用以上包装好的1位半加器可画以下1 位全加器,名字adder。

3. 在完成1位全加器的原理图后,进行编译综合之后,选择File\create\Create Symbol file for cur建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和测试。

4.运用以上包装好的1 位半加器、全加器,可画以下8位的全加器,rent file,将文件变成一个包装好的单一元件模块待调用。

四.注意事项:每一个设计(文本或原理图)都能创建一个原理图符号,并且也只可以在同工程设计中被调用。

五.图形及仿真效果:1. 1位半加器的原理图:1位半加器的仿真结果:2. 1 位全加器的原理图:1位全加器的仿真结果:3. 8位的全加器的原理图:8位全加器的仿真结果:。

基于VHDL的8位模型计算机的设计与实现

基于VHDL的8位模型计算机的设计与实现

摘要随着计算机在人们生活中重要性和不可或缺性的提高,为了更方便的为大众使用,发展计算机性能成为IT行业的热点,但计算机的部结构极其复杂,为了便于研究便产生了模型计算机。

本文完成了基于VHDL的8位模型计算机的设计与实现。

文中首先阐述了8位模型计算机的原理,然后对其十个功能模块〔算术逻辑运算单元,累加器,控制器,地址寄存器,程序计数器,数据寄存器,存储器,节拍发生器,时钟信号源,指令寄存器和指令译码器进行了分析与设计。

最后在Quartus II 9.0环境下进行了仿真,完成了8位模型计算机的整体实现。

本文综合了计算机组成原理和数字逻辑与系统设计的知识,设计的8位模型计算机能更方便的了解计算机部构造和工作原理。

整个系统的开发体现了在Quartus II软件平台上用VHDL设计数字控制系统的实用性。

关键词:8位模型机; Quartus II ;VHDL语言AbstractWith the improvement of importance and indispensability in computer in people's life,in order to use more conveniently for public ,computer performance is becoming a hot in the IT industry development.but the internal structure of the computer is very complicate,Computer model simplifies the difficulty of the research.This article completed the design and implementation of eight model computer based on VHDL.First ,this article expounds the principle of eight model computer,then divides it into 10 modules<arithmetic logic unit, accumulator, controllers, address register, the program counter and data registers, memory, beat generator, a clock signal, instruction register and instruction decoder>and analyse and design each of them.Finally under the environment of the Quartus II 9.0 simulation, completed overall implementation of the 8 model computer. The analysis and design of the eight model computer integrated the knowledge of computer constitute principle and Digital logic and system design. The design of the eight model computer can be more convenient to understand internal structure and working principle.The whole system development manifests the practicability of designing the numerical control system on the Quartus II software platform with VHDL.Key words:eight model computer ; VHDL language; Quartus II目录1 绪论11.1 本课题研究的目的11.2 本课题研究的背景及意义12 基于VHDL编程的基础知识32.1 VHDL语言概述32.2 VHDL的设计流程 (4)2.3 有关Quartus II 的介绍52.4 本课题基于Quartus II的设计流程73 基于VHDL8位模型机的原理与设计73.1 模型计算机的原理73.2 模型机的总体设计要求83.3 模型机逻辑框图的设计83.3 模型机的指令系统设计83.4 模型机的指令执行流程设计83.5 基于VHDL8位模型机各模块的设计与实现 (10)3.5.1 算术逻辑单元ALU模块103.5.2 累加器模块113.5.3 控制器模块123.5.4 节拍发生器143.5.5 指令寄存器模块IR和指令译码器163.5.6 时钟产生器173.5.7 程序计数器模块183.5.8 地址寄存器MAR203.5.9 存储器RAM213.5.10 数据寄存器DR224 基于VHDL的8位模型计算机的实现234.1 基于VHDL的微程序执行流程图234.2 8位模型机的顶层原理图设计244.3 基于VHDL的8位模型机工作流程244.4 顶层VHDL源程序设计254.4.1 头文件cpu_defs的VHDL设计254.4.2 CPU的VHDL源程序设计264.5 8位模型机的整体实现34结论34致 35参考文献36附录A 英文原文.......................................... 错误!未定义书签。

05第6章 VHDL设计应用实例(8位加法器的设计)

05第6章  VHDL设计应用实例(8位加法器的设计)

第6章 VHDL设计应用实例•6.1 8位加法器的设计实验一:8位加法器的设计• 1. 实验目的• (1) 学习MAX+plus 软件的基本使用方法。

• (2) 学习实验开发系统的基本使用方法。

• (3) 了解VHDL程序的基本结构。

• 2. 实验内容•设计并调试好一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器,并用EDA实验开发系统进行硬件验证。

• 3. 实验要求• (1) 画出系统的原理框图,说明系统中各主要组成部分的功能。

• (2) 编写各个VHDL源程序。

• (3) 根据选用的软件编好用于系统仿真的测试文件。

• (4) 根据选用的软件及EDA实验开发装置编好用于硬件验证的管脚锁定文件。

• (5) 记录系统仿真、硬件验证结果。

• (6) 记录实验过程中出现的问题及解决办法。

实验连线全加器的17个输入所对应的管脚同17位拨码开关相连,16个输入管脚是a0~a7、b0~b7,其中a0~a7、b0~b7代表两个8位二进制数,cin代表低八位来的进位位;9个输出所对应的管脚同9位发光二极管相连,9个输出管脚是sum0~sum7和cout:其中sum0~sum7代表相加结果,cout代表进位位。

000000001111111110000000011111110100000000......00000001 (1)00000000000000001111111111111111101111111011111110000000000......00000001 000000000000000000CoutS8(7..0)A8(7..0)B8(7..0)C in实验结果输入8位加法器的设计过程• 1.设计思路•加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。

多位加法器的构成有两种方式:并行进位和串行进位。

并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。

8位并行加法器的设计

8位并行加法器的设计

实验一:8位加法器的设计1.实验目的(1)学习isEXPERT/MAX+plus Ⅱ/Foudation Series软件的基本使用方法。

(2)学习GW48-CK EDA实验开发系统的基本使用方法。

(3)了解VHDL程序的基本结构。

2.实验内容设计并调试一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器,并用GW48_CK EDA实验开发系统(拟采用的实验芯片的型号为isPLSI1032E OLCC_84)进行硬件验证。

3.实验条件(1)画出系统的原理框架图,说明系统中各主要部分的功能。

(2)编写各个VHDL源程序。

(3)根据选用的软件编好用于系统仿真的测试文件。

(4)根据选用的软件及EDA实验开发装置编好用于硬件验证的管脚锁定文件。

(5)记录系统仿真、硬件验证结果。

(6)记录式样过程中出现的问题及解决方法。

4.实验设计(1)系统原理图框架4位二进制并行加法器2个4位二进制并行加法器级联而成的8位加法器(2)VHDL源程序1)4位二进制并行加法器的源代码adder4b.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder4b isport(c4:in std_logic;a4:in std_logic_vector(3 downto 0);b4:in std_logic_vector(3 downto 0);s4:out std_logic_vector(3 downto 0);co4:out std_logic);end entity adder4b;architecture art of adder4b issignal s5:std_logic_vector(4 downto 0);signal a5,b5:std_logic_vector(4 downto 0);begina5<='0'&a4;b5<='0'&b4;s5<=a5+b5+c4;s4<=s5(3 downto 0);co4<=s5(4);end architecture art;2)8位二进制并行加法器的源代码adder8b.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder8b isport(c8:in std_logic;a8:in std_logic_vector(7 downto 0);b8:in std_logic_vector(7 downto 0);s8:out std_logic_vector(7 downto 0);co8:out std_logic);end entity adder8b;architecture art of adder8b iscomponent adder4b isport(c4:in std_logic;a4:in std_logic_vector(3 downto 0);b4:in std_logic_vector(3 downto 0);s4:out std_logic_vector(3 downto 0);co4:out std_logic);end component adder4b;signal sc:std_logic;beginu1:adder4bport map(c4=>c8,a4=>a8(3 downto 0),b4=>b8(3 downto 0), s4=>s8(3 downto 0),co4=>sc);u2:adder4bport map(c4=>sc,a4=>a8(7 downto 4),b4=>b8(7 downto 4),s4=>s8(7 downto 4),co4=>co8);end architecture art;(3)波形仿真文件Module adder8b;C8,a8[7..0],b8[7..0],s8[7..0],co8 pin;Test_vectors(C8,a8[7..0],b8[7..0]->s8[7..0],co8);[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,]->[x,x,x,x,x,x,x,x,x]; [1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,]->[x,x,x,x,x,x,x,x,x]; [0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,]->[x,x,x,x,x,x,x,x,x]; [1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,]->[x,x,x,x,x,x,x,x,x]; [0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,]->[x,x,x,x,x,x,x,x,x]; [1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,]->[x,x,x,x,x,x,x,x,x]; [0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,]->[x,x,x,x,x,x,x,x,x]; [1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,]->[x,x,x,x,x,x,x,x,x]; [0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,]->[x,x,x,x,x,x,x,x,x]; [1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,]->[x,x,x,x,x,x,x,x,x]; [0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,]->[x,x,x,x,x,x,x,x,x]; [1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,]->[x,x,x,x,x,x,x,x,x]; [0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,]->[x,x,x,x,x,x,x,x,x]; [1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,]->[x,x,x,x,x,x,x,x,x]; [0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,]->[x,x,x,x,x,x,x,x,x]; [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,]->[x,x,x,x,x,x,x,x,x]; End;(4)管脚锁定文件管脚锁定设计图管脚锁定文件//adder8b.ppn//part: isPLSI1032E OLCC_84 //fromat:pinnanme pintype lock c8 in 11a87 in 73a86 in 17a85 in 19a84 in 2a83 in 29a82 in 60a81 in 44a80 in 1b87 in 69b86 in 18b85 in 16b84 in 42b83 in 27b82 in 53b81 in 84b80 in 43s87 out 71s86 out 70s85 out 59s84 out 58s83 out 62 s82 out 61 s81 out 28 s80 out 30 co8 out 725.实验结果及总结(1)系统仿真情况系统功能仿真结果时序仿真结果(2)硬件验证情况(3)实验开发过程中出现的问题及解决的方法1)在进行仿真时,value总会随着初始设定值的改变而改变,一开始不明白,总是去调节,后面发现者value的值就是设定的初始值的第一位值,对仿真并没影响,于是把他隐藏了。

分别使用原理图和VHDL语言输入方法设计8位全加器

分别使用原理图和VHDL语言输入方法设计8位全加器

分别使用原理图和VHDL语言输入方法设计8位全加器大庆石油学院课程设计2006年9 月12 日大庆石油学院课程设计任务书课程硬件课程设计题目分别使用原理图和VHDL语言输入方法设计8位全加器专业计算机科学与技术姓名孟庆军学号040702140408主要内容、基本要求、主要参考资料等一、主要内容:利用EDA-V型实验系统、微机和Maxplus-II软件系统,分别使用原理图和VHDL语言输入方法设计8位全加器。

要求利用层次设计方法,首先设计1位半加器,仿真和测试成功后把它保存到元件库中去;之后以1位半加器为底层元件设计1位全加器,仿真和测试成功后把它也保存到元件库中去;最后以1位全加器为基本元件,设计8位全加器的顶层文件,进行仿真和测试。

二、基本要求:1、熟练掌握EDA软硬件系统的使用方法。

2、设计出8位全加器,精通原理图输入方法,初步学会使用VHDL语言输入方法。

3、学会功能仿真和时序仿真。

大庆石油学院硬件课程设计4、按照规范写出论文,要求字数在4000字以上,并进行答辩。

论文内容包括概述(学习、调研、分析、设计的内容摘要)、EDA技术的现状和发展趋势、对EDA_V型实验系统和MaxplusII软件的掌握程度、8位全加器设计过程(包括原理图或程序设计、编译、仿真分析、硬件测试的全过程),论文中含有原理图、程序、仿真波形图及其分析报告。

三、主要参考资料:[1] 潘松.EDA技术实用教程[M].北京:科学出版社,2003.11-13.[2] 杨恒.FPGA/CPLD最新实用技术指南[M].北京:清华大学出版社, 2005.20-22.[3] EDA先锋工作室.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社2005.32-33.[4] 求是科技.CPLD/FPGA应用开发技术与工程实践[M].北京:人民邮电出版社2005. 55-58.[5] 潘松.SOPC技术实用教程[M] .清华大学出版社.2005.1-15.完成期限第28周指导教师专业负责人年月日大庆石油学院课程设计成绩评价表指导教师:年月日摘要本文介绍了利用EDA-V硬件系统和微机上的MaxPlus-I I等软件系统,分别使用原理图和VHDL语言输入方法设计8位全加器。

基于VHDL的8位模型计算机的设计与实现

基于VHDL的8位模型计算机的设计与实现

摘要随着计算机在人们生活中重要性和不可或缺性的提高,为了更方便的为大众使用,发展计算机性能成为IT行业的热点,但计算机的部结构极其复杂,为了便于研究便产生了模型计算机。

本文完成了基于VHDL的8位模型计算机的设计与实现。

文中首先阐述了8位模型计算机的原理,然后对其十个功能模块〔算术逻辑运算单元,累加器,控制器,地址寄存器,程序计数器,数据寄存器,存储器,节拍发生器,时钟信号源,指令寄存器和指令译码器进行了分析与设计。

最后在Quartus II 9.0环境下进行了仿真,完成了8位模型计算机的整体实现。

本文综合了计算机组成原理和数字逻辑与系统设计的知识,设计的8位模型计算机能更方便的了解计算机部构造和工作原理。

整个系统的开发体现了在Quartus II软件平台上用VHDL设计数字控制系统的实用性。

关键词:8位模型机; Quartus II ;VHDL语言AbstractWith the improvement of importance and indispensability in computer in people's life,in order to use more conveniently for public ,computer performance is becoming a hot in the IT industry development.but the internal structure of the computer is very complicate,Computer model simplifies the difficulty of the research.This article completed the design and implementation of eight model computer based on VHDL.First ,this article expounds the principle of eight model computer,then divides it into 10 modules<arithmetic logic unit, accumulator, controllers, address register, the program counter and data registers, memory, beat generator, a clock signal, instruction register and instruction decoder>and analyse and design each of them.Finally under the environment of the Quartus II 9.0 simulation, completed overall implementation of the 8 model computer. The analysis and design of the eight model computer integrated the knowledge of computer constitute principle and Digital logic and system design. The design of the eight model computer can be more convenient to understand internal structure and working principle.The whole system development manifests the practicability of designing the numerical control system on the Quartus II software platform with VHDL.Key words:eight model computer ; VHDL language; Quartus II目录1 绪论11.1 本课题研究的目的11.2 本课题研究的背景及意义12 基于VHDL编程的基础知识32.1 VHDL语言概述32.2 VHDL的设计流程 (4)2.3 有关Quartus II 的介绍52.4 本课题基于Quartus II的设计流程73 基于VHDL8位模型机的原理与设计73.1 模型计算机的原理73.2 模型机的总体设计要求83.3 模型机逻辑框图的设计83.3 模型机的指令系统设计83.4 模型机的指令执行流程设计83.5 基于VHDL8位模型机各模块的设计与实现 (10)3.5.1 算术逻辑单元ALU模块103.5.2 累加器模块113.5.3 控制器模块123.5.4 节拍发生器143.5.5 指令寄存器模块IR和指令译码器163.5.6 时钟产生器173.5.7 程序计数器模块183.5.8 地址寄存器MAR203.5.9 存储器RAM213.5.10 数据寄存器DR224 基于VHDL的8位模型计算机的实现234.1 基于VHDL的微程序执行流程图234.2 8位模型机的顶层原理图设计244.3 基于VHDL的8位模型机工作流程244.4 顶层VHDL源程序设计254.4.1 头文件cpu_defs的VHDL设计254.4.2 CPU的VHDL源程序设计264.5 8位模型机的整体实现34结论34致 35参考文献36附录A 英文原文.......................................... 错误!未定义书签。

EDA课程设计--8位加法器的设计与序列检测器的设计

EDA课程设计--8位加法器的设计与序列检测器的设计

EDA课程设计——8位加法器的设计与序列检测器的设计(一)、设计目的:1、学习使用EDA集成设计软件MaxplusⅡ,了解电路描述、综合、模拟过程。

2、学习VHDL程序中数据对象、数据类型、顺序语句、并行语句的综合使用,了解VHDL 程序的基本结构。

3、掌握使用EDA工具设计数字系统的设计思路和设计方法。

学习VHDL基本逻辑电路的综合设计应用。

(二)、设计要求:1、根据设计题目要求完成设计输入、综合、模拟仿真验证。

2、提供设计报告,报告要求包括以下内容:设计思路、设计输入文件、设计与调试过程、模拟仿真结果和设计结论。

(三)、设计内容:设计A:8位加法器的设计设计并调试好一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器.设计B:序列检测器的设计序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,这在数字通信领域有广泛的应用。

今要求设计一个8位的序列检测器,在检测过程中,任何一位不相等都将回到初始状态重新开始检测;当一串待检测的串行数据进入检测器后,若此数在每位的连续检测中都与预置的密码数相同,则输出“A”,否则仍然输出“B”。

(四)、设计报告要求:(1)画出系统的原理框图,说明系统中各主要组成部分的功能。

(2)编写各个VHDL源程序。

(3)根据软件编好用于系统仿真的测试文件。

根据软件及编好用于硬件验证的管脚锁定文件。

(拟采用的芯片的型号可为EPM7128SLC84-6或EPF10K10LC84-3进行硬件验证。

)(5)记录系统仿真验证结果。

(6)记录实验过程中出现的问题及解决办法。

设计内容:设计A:8位加法器的设计设计并调试好一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器.1、设计思路加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。

多位加法器的构成有两种方式:并行进位和串行进位。

并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。

EDA综合实验——八位全加器

EDA综合实验——八位全加器

学生实验报告系别电子信息学院课程名称《EDA综合实验》班级实验名称8位全加器的设计姓名实验时间2014年月日学号指导教师王红航成绩批改时间2014年月日报告内容一、实验目的和任务利用Quartus II 原理图输入方法设计简单组合电路, 通过一个8位全加器的设计掌握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

二、实验原理介绍三、一个8位全加器可以由2个4位全加器构成, 加法器间的进位可以用串行方式实现, 即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin相接。

四、设计代码(或原理图)、仿真波形及分析在Quartus II 集成环境下, 选择“Bock Diagram/Schematic File”, 进入Quartus II图形编辑方式。

双击编辑窗口, 在元件选择窗口的符号库“Library”栏中, 选择”Primitives”文件夹中的”Logic”后, 调出元件。

根据8位加法器设计的原理图, 将2个4位加法器74283及输入、输出元件符号调入, 完成电路内部的连接及输入、输出元件的连接, 并将相应的输入、输出元件符号名分别更改为A[7..0]、B[7..0]、SUM[7...0]和OUT2。

再将当前设计设定为工程, 目标芯片类型为ACEX1K;型号为EP1K30TC144-3。

编译设计文件, 选择“Start Compilation”对文件进行编译。

然后进行逻辑仿真设计, 先建立波形文件, 然后输入信号节点, 设置波形参量, 编辑输入信号, 保存文件。

时序仿真图功能仿真图由图片可以看出, 当8位全加器的输入端口A输入为60时, B端口输入为160时, 输出SUM 为220, 进位OUT2为0;当输入端口A输入为60时, B输入为200时, SUM为4, 进位OUT2为1.当8位全加器的输入端口A输入为80时, B端口输入为200时, 输出SUM为24, 进位OUT2为1;当输入端口A输入为80时, B输入为160时, SUM为240, 进位OUT2为0.证明设计是正确的。

VHDL实验报告——8位全加器

VHDL实验报告——8位全加器
11111110
1
1
00000001
10000011
10000011
0
1
11111110
11111110
11111101
1
1
11111111
111111111
11111111
1
仿真波形
1、创建工程。。
4、波形仿真,分配引脚,编译。
5、下载到试验箱,进行功能验证。
(源程序及仿真的波形界面在备注)
备注:
源程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY TWO IS
PORT (
A,B:IN STD_LOGIC_VECTOR(0 TO 7);
CIN:IN STD_LOGIC;
SUM:OUT STD_LOGIC_VECTOR(0 TO 7);
CO:OUT STD_LOGIC
);
END;
END PROCESS;
CO<=Y(8);
SUM<=Y(7 DOWNTO 0);
END;
实验记录:
输入
实验结果
cin
b(7..0)
a(7..0)
sum(7..0)
co
0
00000001
10000011
10000100
0
0
11111110
11111110
11111100
1
0
11111111
11111111
上机实验报告

8位加法器的设计(推荐文档)

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位加法器

EDA技术及应用实验报告姓名:XXX班级:XXX学号:XXXXX大学XX学院实验/上机报告一、实验目的设计一个8位加法器。

二、实验环境Quartus II 7.0 开发系统三、实验内容以一位二进制全加器为基本元件,用例化语句写出8位并行二进制全加器的顶层文件,并讨论此加法器的电路特性。

四、实验过程设计思想:8位二进制加法器可以由8个全加器通过级联的方式构成。

根据全加器级联的原理,用VHDL设计一个8位二进制数的加法器,可以先设计一个一位全加器,然后利用一位全加器采用元件例化的方式实现加法器。

实验步骤:1、设计一个全加器新建工程,建立源文件,输入VHDL设计文件,如下图所示:完成设计文件输入后,保存文件。

选用器件型号cyclone2,芯片EP2C8Q208C8编译后使用器件资源情况、引脚配置情况(硬件实验)所选引脚:语法检查:编译结果:对文件进行编译、仿真,以下是仿真结果,如图所示:由图可知仿真结果正确。

五、实验总结这次实验是我首次实践Quartus II 7.0 开发系统,在实验之前老师带我们深刻认识和学习了这个软件,同时也让我对Quartus II 7.0 开发系统有了初步的了解,本学期周三的第一次实验是设计一个8位二进制加法器,而8位二进制加法器可以由8个全加器通过级联的方式构成。

根据全加器原理,用VHDL设计一个8位二进制数的加法器,我们可以先设计一个一位全加器,然后再利用一位全加器来采用元件例化的方式从而实现加法器。

首先有了设计思路后,我先用VHDL设计了一个全加器full_adder.vhd,通过编译、仿真成功后,使用元件例化的方式,从而根据原理图设计了一个8位的加法器adder8.bdf,虽然在这个过程中出现少许问题,但是通过不断的调试,我还是得出了正确的仿真图形。

建立VHDL源文件以后,保存为add1.vhd文件名,编译、仿真,但在这个过程中出现少许问题,在仿真时给输入信号添加信号时不能确定到底应该怎么添加。

VHDL移位相加8位硬件乘法器电路设计

VHDL移位相加8位硬件乘法器电路设计

课程名称:EDA技术实验实验名称:移位相加8位硬件乘法器电路设计一、实验目的:1、学习移位相加8位硬件乘法器电路设计;2、进一步提高学生应用EDA技术进行项目设计的能力。

二、实验原理纯组合逻辑结构构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现宽位乘法器;基于PLD器件外接ROM九九表的乘法器则无法构成单片系统,也不实用。

本实验由8位加法器构成的以时序逻辑方式设计锝位乘法器,具有一定的实用价值。

其原理是:乘法通过逐位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全0相加,直至被乘数的最高位。

三、实验内容1、打开Q 软件,新建VHDL程序输入文件,用VHDL语言设计乘法器的各个模块:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SREG8B ISPORT ( CLK : IN STD_LOGIC;LOAD : IN STD_LOGIC;DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0);QB : OUT STD_LOGIC );END SREG8B;ARCHITECTURE behav OF SREG8B ISSIGNAL REG8 : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS (CLK,LOAD)BEGINIF LOAD = '1' THEN REG8 <= DIN;ELSIF CLK'EVENT AND CLK = '1' THENREG8(6 DOWNTO 0) <= REG8(7 DOWNTO 1);END IF;END PROCESS;QB <= REG8(0);END behav;图1.1 8位右移寄存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD-LOGIC_UNSIGNED.ALL;ENTITY ADDER8 ISPORT(B,A : IN STD_LOGIC_VECTOR(7 DOWNTO 0);S : OUT STD_LOGIC_VECTOR(8 DOWNTO 0));END ADDER8;ARCHITECTURE behav OF ADDER8 ISBEGINS <= '0'&A+B;END behav;图1.2 8位加法器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ANDARITH ISPORT ( ABIN : IN STD_LOGIC;DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0);DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ANDRITH;ARCHITECTURE behav OF ANDARITH ISBEGINPROCESS(ABIN,DIN)BEGINFOR I IN 0 TO 7 LOOPDOUT(I) <= DIN(I) AND ABIN;END LOOP;END PROCESS;END behav;图1.3 选通与门模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG16B ISPORT ( CLK,CLR : IN STD_LOGIC;D : IN STD_LOGIC_VECTOR(8 DOWNTO 0);Q : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)); END REG16B;ARCHITECTURE behav OF REG16B ISSIGNAL R16S :STD_LOGIC_VECTOR(15 DOWNTO 0); BEGINPROCESS(CLK,CLR)BEGINIF CLR = '1' THEN R16S <= (OTHERS =>'0');ELSIF CLK'EVENT AND CLK = '1' THENR16S(6 DOWNTO 0) <= R16S(7 DOWNTO 1);R16S(15 DOWNTO 7) <= D;END IF;END PROCESS;Q <= R16S;END behav;图1.4 16位锁存器2、对各个模块进行编译并打包成电路元件,如上图1所示。

8位加法器电路设计全加器设计word格式word格式

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位全加器进行仿真验证,记录仿真结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6章 VHDL设计应用实例•6.1 8位加法器的设计实验一:8位加法器的设计• 1. 实验目的• (1) 学习MAX+plus 软件的基本使用方法。

• (2) 学习实验开发系统的基本使用方法。

• (3) 了解VHDL程序的基本结构。

• 2. 实验内容•设计并调试好一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器,并用EDA实验开发系统进行硬件验证。

• 3. 实验要求• (1) 画出系统的原理框图,说明系统中各主要组成部分的功能。

• (2) 编写各个VHDL源程序。

• (3) 根据选用的软件编好用于系统仿真的测试文件。

• (4) 根据选用的软件及EDA实验开发装置编好用于硬件验证的管脚锁定文件。

• (5) 记录系统仿真、硬件验证结果。

• (6) 记录实验过程中出现的问题及解决办法。

实验连线全加器的17个输入所对应的管脚同17位拨码开关相连,16个输入管脚是a0~a7、b0~b7,其中a0~a7、b0~b7代表两个8位二进制数,cin代表低八位来的进位位;9个输出所对应的管脚同9位发光二极管相连,9个输出管脚是sum0~sum7和cout:其中sum0~sum7代表相加结果,cout代表进位位。

000000001111111110000000011111110100000000......00000001 (1)00000000000000001111111111111111101111111011111110000000000......00000001 000000000000000000CoutS8(7..0)A8(7..0)B8(7..0)C in实验结果输入8位加法器的设计过程• 1.设计思路•加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。

多位加法器的构成有两种方式:并行进位和串行进位。

并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。

•并行进位加法器通常比串行级联加法器占用更多的资源。

随着位数的增加,相同位数的并行加法器与串行加法器的资源占用差距也越来越大。

因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。

•实践证明,4位二进制并行加法器和串行级联加法器占用几乎相同的资源。

这样,多位加法器由4位二进制并行加法器级联构成是较好的折中选择。

本设计中的8位二进制并行加法器即是由两个4位二进制并行加法器级联而成的,其电路原理图如图6.1所示。

图6.1 8位加法器电路原理图A8[7..0]B8[3..0]A8[3..0]B8[7..0]B8[7..0]A8[7..0]B8[7..4]A8[7..4]S8[7..4]S8[3..0]S8[7..0]CO8S8[7..0]C8ADDER4B CO4S4[3..0]B4[3..0]A4[3..0]C4ADDER4B CO4S4[3..0]B4[3..0]A4[3..0]C4U2U1SC•2.VHDL源程序•1) 4位二进制并行加法器的源程序ADDER4B.VHD•LIBRARY IEEE;•USE IEEE.STD_LOGIC_1164.ALL;•USEIEEE.STD_LOGIC_UNSIGNED.ALL;•ENTITY ADDER4B ISPORT(C4:IN STD_LOGIC;•A4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);•B4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);•S4: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);•CO4: OUT STD_LOGIC);•END ENTITY ADDER4B;•ARCHITECTURE ART OF ADDER4B IS •SIGNAL S5:STD_LOGIC_VECTOR(4 DOWNTO 0);•BEGIN• A5<='0'& A4;•• B5<='0'& B4;•• S5<=A5+B5+C4 ;• S4<=S5(3 DOWNTO 0);• CO4<=S5(4);•END ARCHITECTURE ART;•2) 8位二进制加法器的源程序ADDER8B.VHD•LIBRARY IEEE;•USE IEEE.STD_LOGIC_1164.ALL;•USEIEEE.STD_LOGIC_UNSIGNED.ALL:•ENTITY ADDER8B IS• PORT(C8:IN STD_LOGIC;• A8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);• B8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);• S8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);• CO8:OUT STD_LOGIC);•END ENTITY ADDER8B;•ARCHITECTURE ART OF ADDER8B IS•COMPONENT ADDER4B IS••PORT(C4:IN STD_LOGIC;• A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);•B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);•S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);•CO4:OUT STD_LOGIC);•END COMPONENT ADDER4B;•SIGNAL SC:STD_LOGIC;•BEGIN•U1:ADDER4B•PORT MAP(C4=>C8,A4=>A8(3 DOWNTO 0),B4=>B8(3 DOWNTO0),•S4=>S8(3 DOWNTO 0),CO4=>SC);•U2:ADDER4B•PORT MAP(C4=>SC,A4=>A8(7 DOWNTO 4),•B4=>B8(7 DOWNTO 4),•S4=>S8 (7 DOWNTO 4),CO4=>CO8);•END ARCHITECTURE ART;• 3.硬件逻辑验证•选择实验电路结构图如6.1,由图6.1确定引脚的锁定。

如可取实验电路结构图的PIO3~PIO0接A8[3..0],PIO7~PIO4接A8[7..4], PIO11~PIO8接B8[3..0],PIO15~PIO12接B8[7..4],PIO49接C8。

实验步骤• MaxplusII软件的基本操作与应用•(一)设计输入:•1、软件的启动:进入Altera软件包,打开MAX+plus II 10.0软件•2、启动File \ New菜单,弹出设计输入选择窗口,如下图所示。

或点击下图主菜单中的空白图标,进入新建文件状态。

•输入4位并行加法器源程序后,选择菜单“Flie→Save”,即出现如图所示的对话框。

•文件存盘后,为了能在图形编辑器中调用,自动为ADDER4创建一个元件图形符号。

或选择菜单“File”→“Create Default Symbol”,出现如图所示的对话框,询问是否将当前工程设为ADDER4,可按下“确定”按钮。

•这时,MAX+plus II调出编译器对ADDER4.VHD进行编译,编译后生成ADDER4的图形符号。

如果源程序有错,要对源程序进行修改,重复上面的步骤,直到此元件符号创建成功。

•点击File\Project\set project to current file设置此项目为当前文件,如下图所示。

注意,此操作在你打开几个原有项目文件时尤为重要,否则容易出错。

此时在软件窗口的顶层有路径指示,见下图•\•至此,已完成了一个电路的程序设计输入的整个过程电路的编译与适配•选择芯片型号•选择当前项目文件欲设计实现的实际芯片进行编译适配,点击Assign\Device菜单选择芯片,如下图对话窗所示。

如果此时不选择适配芯片的话,该软件将自动把所有适合本电路的芯片一一进行编译适配,这将耗费你许多时间。

该例程中我们选用CPLD芯片来实现,如用7000S系列的EPM7128SLC84-6芯片;同样也可以用FPGA芯片来实现,你只需在下面的对•注意:EPM7128SLC84-15和EPF10K1084-4不是快速芯片,要将提示窗“Show Only Faster Speed Grades”前面的“√”去掉。

第6章 VHDL设计应用实例2、编译适配•启动MAX+plus II \ Compiler菜单,或点击主菜单下的快捷键,打开编译窗口。

按Start开始编译,并显示编译结果,生成下载文件。

如果编译时选择的芯片是CPLD,则生成 * •pof文件;如果是FPGA芯片的话,则生成* •sof文件,以备硬件下载编程时调用。

同时生成 * •rpt 报告文件,可详细查看编译结果。

如有错误待修改后再进行编译适配,如下图第6章 VHDL设计应用实例•如果说你设计的电路顺利地通过了编译,在电路不复杂的情况下,就可以对芯片进行编程下载,直到设计的硬件实现,至此你已经完成了一个4位并行加法器的设计与实现的整个过程。

如果你的电路有足够的复杂,那么其仿真就显得非常必要。

 电路仿真与时序分析• MaxplusII教学版软件支持电路的功能仿真(或称前仿真)和时序分析(或称后仿真)。

众所周知,开发人员在进行电路设计时,非常希望有比较先进的高效的仿真工具出现,这将为你的设计过程节约很多时间和成本。

由于EDA工具的出现,和它所提供的强大的(在线)仿真功能迅速地得到了电子工程设计人员的青睐,这也是当今EDA(CPLD/FPGA)技术非常火暴的原因之一。

•首先我们介绍功能仿真,即前仿真。

•(一)、编译选择–选择 MAX+plus II \ Compiler菜单,进入编译功能。

–此时主菜单已改变如下图。

点击主菜单“Processing”,“Functional SNF Extractor”,如下图所示。

c.此时编译窗口改变如下图。

这时下一步做的仿真是功能仿真•添加仿真激励信号波形 •1、启动MaxplusII\Wavefrom editor菜单,进入波形编辑窗口,如下图所示•2、将鼠标移至空白处并单击右键,出现如下图所示对话窗口•3、选择Enter nodes from snf选项并按左键确认,出现下图所示对话筐,单击和按钮,选择欲仿真的I/O管脚。

•4、单击OK按钮,列出仿真电路的输入、输出管脚图,如下图所示。

在本电路中,ADDER4的输出为灰色,表示未仿真前其输出是未知的。

•5、调整管脚顺序,符合常规习惯,调整时只需选中某一管脚(如)并按住鼠标左键拖止相应位置即可完成。

相关文档
最新文档