文档库 最新最全的文档下载
当前位置:文档库 › 实验一:一位二进制全减器设计

实验一:一位二进制全减器设计

实验一:一位二进制全减器设计
实验一:一位二进制全减器设计

南昌大学实验报告

学生姓名:刘志强学号: 6100409222 专业班级:电子091班

实验类型:验证□综合□设计■创新□实验日期:实验成绩:

实验一一位二进制全减器设计

一、实验目的

(1)掌握QuartusII的VHDL原理图设计和文本设计全过程;

(2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果。

二、实验内容与要求

(1)设计一个二进制全减器,用分层设计方法,顶层为全减器,底层为半减器和逻辑门组成;

(2)进行波形仿真,并分析仿真波形图;

(3)下载测试全减法器是否正确。

三、设计思路/原理图

一位全减器可以由两个半减器和一个或门连接而成,根据半减器真值表对半减器进行描述,再对或门的VHDL描述,而后根据原理图对全减器的VHDL描述。

图1 全减器f_suber电路图

四、实验程序(程序来源:教科书本)

library ieee; --半减器描述

use ieee.std_logic_1164.all;

entity h_suber is --定义半减器h_suber实体

port(a,b:in std_logic;

do,vo:out std_logic);

end entity h_suber;

architecture fs1 of h_suber is

signal abc:std_logic_vector (1 downto 0);

begin

abc <= a&b ;

process (abc)

begin

case abc is

when "00" => do<='0';vo<='0';

when "01" => do<='1';vo<='1';

when "10" => do<='1';vo<='0';

when "11" => do<='0';vo<='0';

when others => null;

end case;

end process;

end architecture fs1;

library ieee; --一位二进制全减器顶层设计描述

use ieee.std_logic_1164.all;

entity f_suber is --定义全减器f_suber实体

port (ain,bin,cin:in std_logic;

v,sub:out std_logic);

end entity f_suber;

architecture fs of f_suber is

component h_suber ---调用半减器声明语句

port (a,b:in std_logic;

do,vo:out std_logic);

end component;

component or2a --调用或逻辑门声明语句

port (m,n:in std_logic;

h:out std_logic);

end component;

signal e,f,g:std_logic; ---定义3个信号作为内部的连接线

begin

u1:h_suber port map(a=>ain,b=>bin,do=>e,vo=>f); ---例化语句

u2:h_suber port map(a=>e,b=>cin,do=>sub,vo=>g);

u3:or2a port map(m=>g,n=>f,h=>v);

end architecture fs;

五、实验步骤

1. 利用Quartus II 7.2建立工程

在file中打开【】→【】→在【】中选

择存放的目录→【】f_suber要与顶层文件中entity f_suber相同→点击next→点击next→选择芯片→next完成;

再在file下面点【】→【】→点击ok→编写程序→编译

并保存在f_suber文件中(改动程序后,再保存,再编译)→管脚【】→

【】→而后对芯片设置,即打开device→点【】→点

【】与【】→选如【】与【】→选芯片→确定ok ;

重新编译→点下载,后选【】硬件有“JTAG【】”和“ASP

【】手动添加以扩展名为.pof的文件【】”两个接口其一(要看硬

件接口),选中【】”→添加【】中的驱动程序→【】

→点【】开始下载。

注:原理图输入法工程建立与文本输入法建立相似,而且原理图形与以前学习的Mutisim 相同,这里不再多说。

2. 用quartusII创建仿真工程

在已有的工程中,在file下面点【】→【】OK→在任务栏【】中双击,来添加管脚→【】→【】OK然后设置一下

输入引脚波形→保存一下→仿真【】→必要时还可以设置一下【】

中的【】改时间【】→再重新仿真一下。

六、仿真波形分析

下图为实验所得的波形图:

对实验所得的波形图作如上的标记,可以得到如下仿真信息表:

Value A B C D V

a 0 0 0 0 0

b 0 0 1 1 1

c 0 1 0 1 1

d 0 1 1 0 1

e 1 0 0 1 0

f 1 0 1 0 0

g 1 1 0 0 0

h 1 1 1 1 1

差值D的结果为A—B—C的值,与理论值一样借位输出V也与理论值一致;从波形图可以看出输出波形有一定的延时和毛刺,是因为经过元器件需要时间和冒险现象存在。

七、硬件测试

使用的芯片是EP1K00QC208-3。ain、bin、cin分别连接引脚53(电平1)、54(电平2)、55(电平3),sub、v分别连接引脚167(LED1)、168(LED2);测试为:电平1、2、3分别为(低、低、低)、(低、低、高)、(低、高、低)、(低、高、高)、(高、低、低)、(高、低、高)、(高、高、高)、(高、高、高)对应的LED1、LED2分别为(灭、灭)、(亮、亮)、(亮、亮)、(灭、亮)、(亮、灭)、(灭、灭)、(灭、灭)、(亮、亮)。

八、实验小结

很幸运,我们这届学生遇上了全新的实验设备,可以放心做实验了。首先,老师教我们如何破解Quartus II 7.2,接着就开始设计全减器。

对全减器的设计是比较简单的,而且在对全减器编译、仿真和下载之前,我已对Quartus II 7.2进行了多次操作,已经熟练地掌握了利用Quartus II 7.2建立工程和创建仿真等;通过此次试验,我可以向复杂的设计迈进,通过试验,一步一步地提高自己的设计能力、创新能力。通过这个实验,掌握了利用QuartusII建立工程、创建仿真工程和编程下载;在第一次编译时,发现“or2a”没有定义,然后定义一下逻辑或门or2a,保存一下,重新编译通过;在第一次波形仿真后,改变输入波形和end time,保存,重新仿真,仿真后的波形没有变,之后才发现要改动Assignments下的setting-f_suber框中的Simulator Setting;在用原理图输入法设计时,底层用文本输入法创建半减器工程,顶层原理图连接之后,需要再在创建一个原理图工程,工程名是f_suber。

实验四 四位二进制全加器

实验序号实验题目四位二进制全加器实验时间实验室 1.实验元件(元件型号;引脚结构;逻辑功能;引脚名称) 1.SAC-DS4数字逻辑电路实验箱 1个 2.万用表 1块 3.74LS283 四位二进制全加器1片 74LS283 四位二进制全加器引脚结构及逻辑功能 2.实验目的 1、掌握中规模集成电路四位全加器的工作原理及其逻辑功能。 2、学习全加器的应用。 3.实验电路原理图及接线方法描述: (1)74LS283四位全加器实验电路图

(2)用74LS283四位全加器实现BCD码到余3码的转换实验电路图

4.实验中各种信号的选取及控制(电源为哪些电路供电;输入信号的分布位置;输出信号的指示类型;总结完成实验条件) (1)用开关按表下图设置输入A1-A4、B1-B4、C0的状态,借助指示灯观测输出F1-F4、C4的状态。 (2)将每个BCD码加上0011,即可得到相应的余3码。故应按下图接线。 5.逻辑验证与真值表填写 (1)74LS283四位全加器真值表 输入输出 A4 A3 A2 A1B4 B3 B2 B1C0F4 F3 F2 F1C4 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 (2)用74LS283四位全加器实现BCD码到余3码的转换真值表 输入BCD码输出余3码 B4 B3 B2 B1 F4 F3 F2 F1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1

四位二进制全加全减器

数字逻辑设计及应用课程设计报告

组合逻辑设计 题目:使用74LS83构成4位二进制全加\全减器。 具体要求:1)列出真值表; 2)画出逻辑图; 3)用Verilog HDL 进行仿真; 1.设计思路及原理分析 全加器是除本位数字相加外,还考虑进位输入和进位输出的加法器,全减器同理,考虑借位输入和借位输出。本次主要应用74LS83来实现设计要求,74LS83是四位二进制先行进位加法器,可以直接接入输入获得全加器,所以设计重点在于四位全减器的设计。 对于串行进位加法器,可略加改进获得相应的减法器,基本原理如下式: 2'2'2'2'[]s s s s X Y X Y -=+- '2'2[]2n s s Y Y -=- 这里利用了补码的基本性质,具体实现时可以将减数逐位取反,然后最低位加1。又因为全加器时in C 为为进位输入,全减器时应变为借位输入,所以要减去in C ,且全加器的输出端out C 为进位输出,而全减法器应该输出借位输出,而进位输出与借位输出恰好是反向的关系,所以将0S 取反后即得到全减器的借位输出out B ,据此,可以在全加器的基础上设计全减器。

其中表中输出部分上行为全加输出,下行为全减输出。 2 逻辑电路图 3 电路实现和仿真 3.1 verilog HDL设计代码如下: module add(s,out,a,b,in,EN); output[0:3] s; output out; input[0:3] a,b; input in; input EN; reg out; reg[0:3] s,c; always@(*) if (EN==0) begin {out,s}=a+b+in; end else begin c=10000-b; {out,s}=a+c-in; out=~out; end endmodule 3.2 仿真波形图

一位全减器

实验一 1位二进制全减器设计 一、实验目的 1.熟悉Quartes II集成开发软件的使用; 2.初步熟悉PH-1V型实验装置的使用; 3 . 学习用原理图输入法和文本输入法进行简单的数字电路设计,掌握系统仿真,学会分析硬件测试结果。 二、实验内容与要求 1.采用原理图输入法和文本输入法分别实现,分层设计,底层由半减器(也用原理图输入法)和逻辑门组成; 2.建立波形文件,并进行系统仿真,用软件验证设计结果; 3. 在仿真正确的情况下,对1位二进制半加/减器分别下载到实验箱中做硬件测试 三、实验原理及设计思路 根据一位二进制全减器的工作原理,可得其真值表为(如下:cin表示低位向本位借位。cout 表示本位向高位借位)

由EDA教程中全加器的顶层设计描述及半加器调用可类比到全减器的设计,可由先对半减器进行描述,然后进行两次调用。半减器的工作时的逻辑表达式为:so=a XOR b ;co=(NOT a)AND b 四、实验程序(程序来源:EDA技术实验教程) 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; LIBRARY IEEE; ——半减器描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_suber IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC);

组合逻辑课程设计4位二进制全加器全减器原创

组合逻辑电路课程设计—— 4位二进制全加器/全减器 作者: 学号: 课程设计题目要求: 1)使用74LS283构成4位二进制全加/全减器。 2)阐述设计思路。 3)列出真值表。 4)画出设计的逻辑图。 5)用VHDL对所画电路进行仿真。 目录 摘要 (2) 1总电路设计 (3) 1.1硬件电路的设计 (3) 1.2全加器(full-adder ) (3) 1.2.1四位二级制加法器 (5) 1.2.1.1串行进位加法器 (5) 1.2.1.2超前进位加法器 (6) 1.2.1.3超前位链结构加法器 (6) 1.3全减器(full-substracter ) (7)

1.4总电路设计 (8) 2设计思路 (9) 2.1全加器 (9) 2.2全减器 (9) 3真值表 (10) 4逻辑图与仿真 (12) 5软件程序的设计 (16) 6结果分析与总结 (19) 摘要 加法器是数字系统中产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。例如:为了节省资源,减法器和硬件乘法器都可以用加法器来构成。但宽位加法器的设计是很耗资源的,因此在实际的设计和相关饿得设计与开发中需要注意资源的利用率和进位速度两方面的问题,多位加法器的构成主要有两种:并行进位和串行进位。并行进位加法器设有并行进位产生逻辑,运行速度比串行进位快;串行进位是将全加器采取并行级联或菊花链式级联构成多位加法器。加法器也是常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。此外还可以用来表示各种数值,如:BCD、加三码,主要的加法器是以二进制作运算。 本文将采用4位二进制并行加法器作为折中选择,所选加法器为74LS283,74LS283是4位二进制先行进位的加法器,它只用了几级逻辑来形成和及进位输出,故由其构成4位二进制全加器;而四位全减器可以用加法器简单的改造而来,最后本文采用 VHDL对四位全加器/全减器进行仿真。 关键字 74LS283全加器、四位二进制、迭代电路、并行进位、串行进位、VHDL

实验一1位二进制全加器的设计

龙岩学院实验报告 班级学号姓名同组人 实验日期室温大气压成绩 实验题目:基于原理图输入法的1位二进制全加器的设计 一、实验目的 1、学习、掌握QuartusⅡ开发平台的基本使用。 2、学习基于原理图输入设计法设计数字电路的方法,能用原理图输入设计法 设计1位二进制半加器、1位二进制全加器。 3、学习EDA-V型实验系统的基本使用方法。 二、实验仪器 装有QuartusⅡ软件的计算机一台、EDA系统实验箱、导线若干 三、实验原理 半加器只考虑两个1位二进制数相加,而不考虑低位进位数相加。半加器的逻辑函数 为 式中A和B是两个相加的二进制数,S是半加和,C是向高位的进位数。表1为半加器真值表。 表1 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 显然,异或门具有半加器求和的功能,与门具有进位功能。 其逻辑图跟逻辑符号如下图:

全加器除了两个1位二进制数相加以外,还与低位向本位的进位数相加。表2为全加器的真值表。 表2 A i B i C I-1 C i S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 由真值表可得出逻辑函数式 式中,A i 和B i 是两个相加的1为二进制数,C i-1 是由相邻低位送来的进位数, S I 是本位的全加和,C I 是向相邻高位送出的进位数。其逻辑图跟逻辑符号如下图所示: 四、实验内容 1、根据1位二进制半加器、1位二进制全加器的真值表,设计并画出1位二进制半加器的原理框图,由半加器及门电路设计并画出1位二进制全加器的原理框图(最终设计的是1位二进制全加器)。

实验一 一位二进制全加器设计实验

南昌大学实验报告 学生姓名: 学 号: 专业班级: 中兴101 实验类型:■ 验证 □ 综合 □设计 □ 创新 实验日期: 2012 9 28 实验成绩: 实验一 一位二进制全加器设计实验 一.实验目的 (1)掌握Quartus II 的VHDL 文本设计和原理图输入方法设计全过程; (2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果; (3) 熟悉设备和软件,掌握实验操作。 二.实验内容与要求 (1)在利用VHDL 编辑程序实现半加器和或门,再利用原理图连接半加器和或门完成全加器的设计,熟悉层次设计概念; (2)给出此项设计的仿真波形; (3)参照实验板1K100的引脚号,选定和锁定引脚,编程下载,进行硬件测试。 三.设计思路 一个1位全加器可以用两个1位半加器及一个或门连接而成。而一个1位半加器可由基本门电路组成。 (1) 半加器设计原理 能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器。或:只考虑两个一位二进制数的相加,而不考虑来自低位进位数的运算电路,称为半加器。图1为半加器原理图。其中:a 、b 分别为被加数与加数,作为电路的输入端;so 为两数相加产生的本位和,它和两数相加产生的向高位的进位co 一起作为电路的输出。 半加器的真值表为 表1 半加器真值表 由真值表可分别写出和数so ,进位数co 的逻辑函数表达式为: b a b a b a so ⊕=+=- - (1) ab co = (2)

图1半加器原理图 (2) 全加器设计原理 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图2全加器原理图。全加器的真值表如下: 表2全加器真值表 其中a为加数,b为加数,c为低位向本位的进位,co为本位向高位的进位,so为本位和。 图2.全加器原理图 四.实现方法一:原理图输入法设计(自己独立完成) 1. 建立文件夹 建立自己的文件夹(目录),如c:\myeda,进入Windows操作系统 QuartusII不能识别中文,文件及文件夹名不能用中文。 2. 原理图设计输入 打开Quartus II,选菜单File→New,选择“Device Design File->Block Diagram->Schematic File”项。点击“OK”,在主界面中将打开“Block Editor”窗口。 (1) 放置元件 在原理图编辑窗中的任何一个空白处双击鼠标左键或单击右键,跳出一个选择窗,选择

一位全加全减器的实现

课程实验报告课程名称:数字电路与逻辑设计 专业班级:计实1001班 学号:U201014488 姓名:王宸敏 指导教师:唐九飞 周次:第九周 同组人员:熊凯 报告日期:2012年4月18日

计算机科学与技术学院 【内容A 】 一、 实验名称 一位全加/全减器的实现 二、 实验目的 1. 掌握组合逻辑电路的功能测试 2. 验证半加器和全加器的逻辑功能 3. 学会二进制数的运算规律 三、 实验所用仪器和组件 1. 二输入四“与非”门1片,型号为74LS00 2. 三输入三“与非”门1片,型号为74LS10 3. 二输入四“异或”门1片,型号为74LS86 四、 实验设计方案及逻辑图 首先根据真值表得到了其卡诺图如下所示: 根据输入与输出写出全加/减法器的函数表达式,如下: 实现全加法器的表达式: in in in in O in BC AC AB BC AC AB C C B A S M ??=++=⊕⊕==时,0; 实现全减法器的表达式: in in in in O in BC C A B A BC C A B A C C B A S M ??=++=⊕⊕==时,1 .

由表达式可知:S采用异或的逻辑门而Co则采用与非的逻辑门得到,因此画出逻辑图如下: 五、实验记录 六、描述实验现象,并运用所学的知识进行分析、处理及讨论 1.在m=0时,在输入端输入三个电平时,输出实现了全加器的功能,即把三个输入当作 被加数、加数和低位的进位,同时两个输出分别表示了和与低位的进位。 2.在m=1时,在输入端输入三个电平时,输出实现了全减器的功能,即把三个输入当作 被减数、减数和低位的借位,同时两个输出分别表示了差与高位的借位。 因为电路的设计是根据真值表的结果得到的,通过真值表画出卡诺图从而的到输出关于输入的表达式,因此他所实现的功能正是我们所需要的全加器与全减器的功能,只不过是通过逻辑门进行了处理,得到的是正确的值。

利用全加器电路创建四位二进制加法器

一.课程设计的目的: 1、学习并了解MATLAB软件。 2、尝试用Simulink建模。 3、实现对数字电路的防真设计。 4、利用全加器电路创建四位二进制加法器。 二.课程设计题目描述及要求: 利用所学的数字电路的基本知识和MUTLAB软件中Simulink的应用学习,完成对数字电路的仿真设计。用各种各样的组合逻辑电路设计全加器,输出曲线,再利用全加器设计电路创建四位二进制加法器电路图,给出输出。 三.MATLAB软件简介: MATLAB是MathWorks公司于1984年推出的一套高性能的数值计算可视化软件,集数值分析、矩阵运算、信号处理和图形显示于一体。MATLAB是由Matrix 和Laboratory单词的前三个字母组合而成的,其含义是矩阵实验室。 Simulink是MATLAB最重要的组件之一,是实现动态系统建模、仿真的一个集成环境。它支持线性和非线性系统,连续时间、离散时间,或者两者的相结合的仿真,而且系统是多进程的。Simulink是从底层开发的一个完整的仿真环境和图形界面,它把MATLAB的许多功能都设计成一个个直观的功能模块,把需要的功能模块连接起来就可以实现所需要的仿真功能。Simulink仿真应用于数字电路、数字信号处理、通信仿真、电力系统仿真、宇航仿真等领域。由于数字系统中高低电平分别用0和1表示,因此数字电路问题往往可以转化为一个数字上的逻辑问题。MATLAB提供了逻辑运算模块和各种触发器模块,可以方便的进行数字电路的设计和仿真。借助于组合电路仿真常用模块Logic and Bit Operations子库中的Local Operator模块,将其拖到所建的untitled窗口中,然后鼠标左键双击该模块弹出的Block Parameters/Logical Operator对话框,按Operator栏后的黑三角来选择所需要的门电路标识符,如:AND、OR、NAND、NOR、XOR、NOT中的一个,并依次设置所需的输入、输出端子个数,之后按OK 键确定。利用这些基本门电路组成加法器逻辑电路。 四.课程设计的内容: 1、1位全加器的设计。 所谓全加器,就是带进位输入和进位输出的加法器。1位全加器有3个输入,分别是加

EDA实验报告实验一:一位二进制全减器的设计

实验一、一位二进制全减器的设计 一、实验目的: (1)掌握Quartus II 的VHDL 文本设计的全过程; (2)熟练和掌握EDA设计流程;熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果。 (3)学习PH-1V型实验装置上发光二极管和按键的使用方法。 二、实验内容与要求: (1)用文本方法实现半减器,再利用半减器完成全减器的设计,熟悉层次设计概念; (2)给出此项设计的仿真波形; (3)选择实验电路NO.1验证, 用发光管指示显示结果。 三、设计原理: (1)半减器真值表: xx yy Diff1 S_out1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 (表中Diff1表示本位向高位的借位,S_out1表示本位) (2)全减器真值表: x y Sub_in diffr Sub_out 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 (表中Sub_in表示低位向本位的借位,diffr表示本位向高位的借位,Sub_out表示本位) 四、实验程序: (1)对半减器进行描述:

(2)对全减器进行原理图编辑: 五、实验步骤: 1.建立工作库文件夹和编辑设计文件 (1)在D盘下建立一个文件夹保存工程文件; (2)打开QuartusII,建立新的VHDL文件,再打开的页面下输入程序。 2.编译过程 (1)输入完程序之后逐个编译 (2)逐个编译无错之后进行全程编译 3.系统仿真 (1)建立新的波形激励文件 (2)在波形编辑器窗口添加节点 (3)通过Edit->End Time 来设定仿真结束时间 (4)点击save保存 (5)通过Tools下的Simulator Tools项进行仿真,然后观察输出波形。 4.引脚锁定 (1)通过Assignment->Assignment Editor->Pin查找到所有的引脚 (2)选择各个输入输出信号来锁定到不同引脚,进行全编译。 5.编程下载

整理实验一-一位二进制全加器设计实验

整理人 尼克 实验一一位二进制全加器设计实验

目录 实验一Protel DXP 2004认识实验 (1) 实验二两级阻容耦合三极管放大电路原理图设计 (1) 实验三原理图元件库建立与调用 (3) 实验四两级阻容耦合三极管放大电路PCB图设计 (5) 实验五集成电路的逻辑功能测试 (7) 实验六组合逻辑电路分析与设计 (12) 实验七Quartus II 的使用 (17) 实验八组合逻辑器件设计 (17) 实验九组合电路设计 (25)

实验一 Protel DXP 2004 认识实验 一、实验目的 1.掌握Prot e l DXP 2004 的安装、启动和关闭。 2.了解Protel DXP 2004 主窗口的组成和各部分的作用。 3.掌握Prot e l DXP 2004 工程和文件的新建、保存、打开。 二、实验内容与步骤 1、Protel_DXP_2004 的安装 (1)用虚拟光驱软件打开Protel_DXP_2004.iso 文件 (2)运行setup\Setup.exe 文件,安装Protel DXP 2004 (3) 运行破解程序后,点击“导入模版”,先导入一个ini文件模版(如果要生成单机版的License选择Unified Nexar-Protel License.ini;要生成网络版的License选择Unified Nexar-Protel Network License.ini),然后修改里面的参数:TransactorName=Your Name(将“Your Name”替换为你想要注册的用户名);SerialNumber=0000000(如果你只有一台计算机,那么这个可以不用修改,如果有两台以上的计算机且连成局域网,那么请保证每个License文件中的SerialNumber=为不同的值。修改完成后点击“生成协议文件”,任意输入一个文件名(文件后缀为.alf)保存,程序会在相应目录中生成1个License文件。点击“替换密钥”,选取DXP.exe (在DXP 2004安装目录里,默认路径为C:\Program Files\Altium2004\),程序会自动替换文件中的公开密钥。将前面生成的License文件拷贝至DXP 2004安装目录里(默认路径为 C:\Program Files\Altium2004\)授权完成。 (4)打开Protel 在左上角DXP 菜单下的Preference 菜单项里,选中Use localize resources 后关闭Protel_DXP_2004,重新打开软件变为简体中文版本。 2、Protel_DXP_2004 的卸载 卸载Protel_DXP_2004 的具体步骤如下: (1)在Windows 的“开始”菜单中选择“设置/控制面板”,然后在控制面板中选择“添加/删除程序”选项,将弹出对话框。从中选择DXP 2004 应用软件。 (2)单击删除”按钮,将弹出对话框,询问用户是否真的要删除程序。 (3)单击“是”按钮,开始卸载。在卸载过程中,若想终止卸载,可单击“取消”按钮。

用quartusⅡ设计一个四位二进制全减器

EDA技术与VHDL作业 作业名称用quartusⅡ设计一个四位二进制全减器 学生姓名邹运 班级电技122 学号2012301030230 任课教师吴君鹏 完成时间2014.3.22

用VHDL语言编写如下: library ieee; use ieee.std_logic_1164.all; entity quanjian is port(a,b,c:in std_logic; sout,jout:out std_logic); end; architecture one of quanjian is signal abc:std_logic_vector(2 downto 0); begin abc<=a&b&c; process(abc) begin case abc is when"000"=> sout<='0';jout<='0'; when"001"=> sout<='1';jout<='1'; when"010"=> sout<='1';jout<='1'; when"011"=> sout<='0';jout<='1'; when"100"=> sout<='1';jout<='0'; when"101"=> sout<='0';jout<='0'; when"110"=> sout<='0';jout<='0'; when"111"=> sout<='1';jout<='1'; when others=>null; end case; end process; end one; library ieee; use ieee.std_logic_1164.all; entity quanjian4 is port(a11,a12,a13,a14,b11,b12,b13,b14:in std_logic; s1,s2,s3,s4,j4:out std_logic); end; architecture two of quanjian4 is signal d,e,f:std_logic; component quanjian port(a,b,c:in std_logic; sout,jout:out std_logic); end component; begin u1:quanjian port map(a=>a14,b=>b14,c=>'0',jout=>d,sout=>s4); u2:quanjian port map(a=>a13,b=>b13,c=>d,jout=>e,sout=>s3); u3:quanjian port map(a=>a12,b=>b12,c=>e,jout=>f,sout=>s2); u4:quanjian port map(a=>a11,b=>b11,c=>f,jout=>j4,sout=>s1); end two;

一位全加器

存档资料成绩: 华东交通大学理工学院 课程设计报告书 所属课程名称计算机组成原理 题目一位全加器的设计 分院电信分院 专业班级 15计算机科学与技术3班 学号20150210440313 学生姓名张子辰 指导教师王莉 2016 年 12 月 19 日

课程设计(论文)评阅意见 评阅人 王莉 职称 讲师 2016年12月19日 序号 项 目 等 级 优秀 良好 中等 及格 不及格 1 课程设计态度评价 2 出勤情况评价 3 任务难度评价 4 工作量饱满评价 5 任务难度评价 6 设计中创新性评价 7 论文书写规范化评价 8 综合应用能力评价 综合评定等级

目录 引言 (2) 一.全加器的介绍 (2) 1.1 全加器的基本概念 (2) 1.2全加器仿真设计分析 (3) 1.3 全加器的原理 (3) 二.课程设计目的 (3) 三.不同方法的一位全加器设计 (4) 3.1用逻辑门设计全加器 (4) 3.2 用74LS38译码器设计全加器 (6) 3.3用74LS153D数据选择器设计全加器 (8) 四.观测仿真电路 (10) 4.1逻辑门仿真电路的分析 (10) 4.2 74LS138译码器仿真电路的分析 (12) 4.3 74LS153D数据选择器仿真电路的分析 (13) 五.两位全加器的实现 (15) 5.1.原理 (15) 5.2创建电路 (18) 5.3 仿真电路的输出信号分析 (19) 六.收获与心得 (19) 参考文献 (20)

一位全加器的设计 引言 MAX+PLUS II是一个专门用于电路设计与仿真的工具软件。它以界面形象直观、操作方便、分析功能强大、易学易用等突出优点,迅速被推广应用。MAX+PLUS II仿真软件能将电路原理图的创建、电路的仿真分析及结果输出都集成在一起,并具有绘制电路图所需的元器件及其仿真测试的仪器,可以完成从电路的仿真设计到电路版图生成的全过程,从而为电子系统的设计、电子产品的开发和电子系统工程提供一种全新的手段和便捷的方法。 数字系统的基本任务之一就是进行算术运算。而常见的加、减、乘、除等运算均可以利用加法运算来实现。所以,加法器就成为数字系统中最基本的运算单元,可广泛用于构成其它逻辑电路。 一.全加器的介绍 1.1 全加器的基本概念 加法器是一种常见的组合逻辑部件,有半加器和全加器之分。半加器是只考虑两个加数本身,而不考虑来自低位进位的逻辑电路,就是两个相加数最低位的加法运算。全加器不仅考虑两个一位二进制数相加,还要考虑与低位进位数相加的运算电路。两个数相加时,除最低位之外的其余各位均是全加运算

课程设计---4位二进制全加器全减器

组合逻辑电路课程设计之—— 4位二进制全加器/全减器 课程设计题目要求: 使用74LS283构成4位二进制全加\全减器。 具体要求:1)列出真值表; 2)画出逻辑图; 3)用Verilog HDL进行仿真。

摘要 加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面问题。多为加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运行速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行加法器的资源占用差距也会越来越大。 本文将采用4位二进制并行加法器作为折中选择,所选加法器为74LS283,74LS283是4位二进制先行进位加法器,它只用了几级逻辑来形成和及进位输出,由其构成4位二进制全加器;而四位的全减器可以用加法器简单的改造而来。采用Verilog HDL对四位的全加器-全减器进行仿真。 关键字 74LS283,全加器,并行进位,串行进位,全减器,Verilog HDL仿真 总电路设计 一、硬件电路的设计 该4位二进制全加器以74LS283(图1)为核心,采用先行进位方式,极大地提高了电路运行速度,下面是对4位全加器电路设计的具体分析。 图1

1)全加器 全加器是针对多于一位的操作数相加,必须提供位与位之间的进位而设计的一种加法器,具有广泛而重要的应用。其除有加数位X和Y,还有来自低位的进位输入CIN,和输出S(全加和)与COUT(送给高位的进位),满足下面等式: CIN Y CIN X Y X COUT CIN Y X CIN Y X N CI Y X N CI Y X CIN Y X S ? + ? + ? = ? ? + ?' ?' +' ? ?' +' ?' ? = ⊕ ⊕ = 其中,如果输入有奇数个1,则S为1;如果输入有2个或2个以上的1,则 COUT为1。实现全加器等式的电路如图3所示,逻辑符号见下 图2 图3

EDA课程设计八位二进制全加器

EDA课程设计八位二进制全加器

EDA设计说明书 课程名称: EDA技术实用教程 设计题目:八位二进制全加器 院系:电子信息与电气工程学院学生姓名: 学号: 专业班级: 指导教师:李响 年 6 月 1

1. 设计目的 熟悉利用QuartusⅡ的原理图输入法设计简单的组合电路,掌握层次化设计的方法,并经过一个八位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 2. 设计原理 2.1 一位全加器的原理 一位全加器能够用两个半加器及一个或门连接而成,因此需要首先完成半加器的设计。在本设计中,将采用原理图输入法来完成设计。 一位全加器的设计步骤: ①为本项工程设计建立文件夹; ②输入设计项目和存盘; ③将设计项目设计成可调用的元件; ④设计全加器顶层文件; ⑤将设计项日设置成工程和时序仿真。 2.2 八位全加器的原理 一个八位全加器能够由八个一位全加器构成,加法器之间的进位能够用串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin 相接。

3. 设计方案与仿真 3.1 一位全加器的设计与仿真 全加器的实现是以半加器的实现为基础的,因此,要设计全加器应首先设计一个一位的半加器。半加器的实现方案为: ①为此项工程建立文件夹; ②在基本元件库中,选中需要的元件,将元件(包含元件 and2、not 、xnor 和输入输出引脚input、output)调入原理图编辑窗口中; ③将己设计好的原理图文件存盘; ④将所设计的半加器设置成可调用的元件。 用原理图输入法所设计的半加器原理图如图3-1所示,利用QuartusⅡ软件平台,根据图3-1所示电路,可生成一个半加器元件符号,如图3-2所示。在半加器的基础上,为了建立全加器的顶层文件,必须再打开一个原理图编辑窗口,方法同上。其中,所选择的元件包含半加器、或门和输入输出引脚,由此可得到如图3-3所示的全加器原理图;进而可生成个全加器元件符号,如图3-4所示。 图3-1 半加器原理图图3-2 半加器元件符号

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

采用VHDL层次化文件设计一个一位全减器 一、实训目的 1.巩固编译、仿真VHDL文件的方法。 2.掌握在Quatrus Ⅱ中使用自定义库和程序包的方法。 二、实训器材 计算机与Quartus Ⅱ工具软件。 三、实训指导 (一)实训原理 一位全减器的真值表如表3-1所示: 表3-1 一位全减器的真值表 (二)实训步骤 1.设计输入VHDL文件 (1)设计输入底层文件my_package.vhd。 (2)设计输入顶层文件fullsub_work.vhd。 以fullsub_work为工程文件夹,fullsub_work.vhd为顶层文件新建的一个工程项目,把my_package.vhd文件添加到工程中。执行Project→Add/Remove Files in Project…把my_package.vhd文件添加到工程下。 VHDL代码如下:

my_package.vhd文件代码如下: PACKAGE my_package IS PROCEDURE halfsub (SIGNAL a,b:IN BIT; SIGNAL s,c:OUT BIT); PROCEDURE orgate (SIGNAL a1,b1:IN BIT; SIGNAL o1:OUT BIT); END my_package; PACKAGE BODY my_package IS PROCEDURE halfsub (SIGNAL a,b:IN BIT; SIGNAL s,c:OUT BIT) IS BEGIN s<=a XOR b AFTER 10 ns; c<=(NOT a) AND b AFTER 10 ns; END PROCEDURE halfsub; PROCEDURE orgate (SIGNAL a1,b1:IN BIT; SIGNAL o1:OUT BIT) IS BEGIN o1<=a1 OR b1; END PROCEDURE orgate; END my_package; fullsub_work.vhd文件代码如下: USE WORK.my_package.ALL; ENTITY fullsub_work IS PORT(i1,i2,c_in:IN BIT; fs,c_out:OUT BIT); END fullsub_work; ARCHITECTURE a OF fullsub_work IS SIGNAL temp_s,temp_c1,temp_c2:BIT; BEGIN U0:halfsub(i1,i2,temp_s,temp_c1); U1:halfsub(temp_s,c_in,fs,temp_c2); U2:orgate(temp_c1,temp_c2,c_out);

实验一:一位二进制全减器设计

南昌大学实验报告 学生姓名:刘志强学号: 6100409222 专业班级:电子091班 实验类型:验证□综合□设计■创新□实验日期:实验成绩: 实验一一位二进制全减器设计 一、实验目的 (1)掌握QuartusII的VHDL原理图设计和文本设计全过程; (2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果。 二、实验内容与要求 (1)设计一个二进制全减器,用分层设计方法,顶层为全减器,底层为半减器和逻辑门组成; (2)进行波形仿真,并分析仿真波形图; (3)下载测试全减法器是否正确。 三、设计思路/原理图 一位全减器可以由两个半减器和一个或门连接而成,根据半减器真值表对半减器进行描述,再对或门的VHDL描述,而后根据原理图对全减器的VHDL描述。 图1 全减器f_suber电路图 四、实验程序(程序来源:教科书本) library ieee; --半减器描述 use ieee.std_logic_1164.all; entity h_suber is --定义半减器h_suber实体 port(a,b:in std_logic; do,vo:out std_logic); end entity h_suber; architecture fs1 of h_suber is signal abc:std_logic_vector (1 downto 0); begin abc <= a&b ; process (abc) begin case abc is

when "00" => do<='0';vo<='0'; when "01" => do<='1';vo<='1'; when "10" => do<='1';vo<='0'; when "11" => do<='0';vo<='0'; when others => null; end case; end process; end architecture fs1; library ieee; --一位二进制全减器顶层设计描述 use ieee.std_logic_1164.all; entity f_suber is --定义全减器f_suber实体 port (ain,bin,cin:in std_logic; v,sub:out std_logic); end entity f_suber; architecture fs of f_suber is component h_suber ---调用半减器声明语句 port (a,b:in std_logic; do,vo:out std_logic); end component; component or2a --调用或逻辑门声明语句 port (m,n:in std_logic; h:out std_logic); end component; signal e,f,g:std_logic; ---定义3个信号作为内部的连接线 begin u1:h_suber port map(a=>ain,b=>bin,do=>e,vo=>f); ---例化语句 u2:h_suber port map(a=>e,b=>cin,do=>sub,vo=>g); u3:or2a port map(m=>g,n=>f,h=>v); end architecture fs; 五、实验步骤 1. 利用Quartus II 7.2建立工程 在file中打开【】→【】→在【】中选 择存放的目录→【】f_suber要与顶层文件中entity f_suber相同→点击next→点击next→选择芯片→next完成; 再在file下面点【】→【】→点击ok→编写程序→编译 并保存在f_suber文件中(改动程序后,再保存,再编译)→管脚【】→ 【】→而后对芯片设置,即打开device→点【】→点 【】与【】→选如【】与【】→选芯片→确定ok ; 重新编译→点下载,后选【】硬件有“JTAG【】”和“ASP 【】手动添加以扩展名为.pof的文件【】”两个接口其一(要看硬

实验一一位二进制全加器设计实验

◎南昌大学实验报告 学生姓名: ______ 学号:____________ 专业班级:中兴101 实验类型:■ 验证口综合□设计口创新实验日期:2012 9 28 实验成绩: _________________ 实验一一位二进制全加器设计实验 一. 实验目的 (1)掌握Quartus II的VHDL文本设计和原理图输入方法设计全过程; (2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果; (3)熟悉设备和软件,掌握实验操作。 二. 实验内容与要求 (1)在利用VHDL编辑程序实现半加器和或门,再利用原理图连接半加器和或门完成全加器的设计,熟悉层次设计概念; (2)给出此项设计的仿真波形; (3)参照实验板1K100的引脚号,选定和锁定引脚,编程下载,进行硬件测试。 三?设计思路 一个1位全加器可以用两个1位半加器及一个或门连接而成。而一个1位半加器可由基本门电路组成。 (1) 半加器设计原理 能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器。或:只考虑两 个一位二进制数的相加,而不考虑来自低位进位数的运算电路,称为半加器。图1为半加器 原理图。其中:a、b分别为被加数与加数,作为电路的输入端;so为两数相加产生的本位 和,它和两数相加产生的向高位的进位co 一起作为电路的输出。 半加器的真值表为 表1 由真值表可分别写出和数so,进位数co的逻辑函数表达式为: so a b a b a b co ab (1) (2)

(2) 全加器设计原理 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图2全加器原理图。 全加器的真值表如下: 其中a为加数,b为加数,c为低位向本位的进位,co为本位向高位的进位,so为本位和。 图2.全加器原理图 四?实现方法一:原理图输入法设计(自己独立完成) 1. 建立文件夹 建立自己的文件夹(目录),女口c:\myeda,进入Windows操作系统Quartusll不能识别中文,文件及文件夹名不能用中文。 2. 原理图设计输入 打开Quartus II ,选菜单File 宀New ,选择“Device Design File->Block Diagram- 'Schematic File 项。点击“ OK'在主界面中将打开“ Block Editor 窗口'。 (1) 放置元件 在原理图编辑窗中的任何一个空白处双击鼠标左键或单击右键,跳出一个选择窗,选择此窗中的Enter Symbol项输入元件,出现元件选择窗口。 元件选择窗口窗口中Symbol Libraries: 的路径c:\ Quartus2\max2lib\prim 下为基本

完整四位全加全减器设计

四位全加全减器设计 一.实验目的 1熟悉在max+plus II 的环境下设计数字电路的步骤和方法 2学习使用vhdl语言,进行设计数字电路的RTL级电路 3通过max+plus II 软件中对自行设计的电路的仿真,加深对数字电路设计的理解。二.实验原理 1.功能描述 输入:select,Ci, A, B 输出:S,Co Select=0时,S为全加器的求和位(A+B),Co为全加器的高位进位。Ci为全加器低位进位。Select=1时,S为全减器的求差位(A-B),Co为全减器的高位借位。Ci为全减器低位借位。 2.一位全加全减器真值表: 输入输出 Select Ci A B S Co 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 3.逻辑化简 由真值表得

S=A○十B○十Ci=((A○十Select)○十B○十Ci)○十Select Co=(A○十Select)B+Ci((A○十Select)+B)=((A○十Select)○十B)Ci+(A○十Select)B 对于半加器的逻辑表达式为:S=A○十B Co=AB 综上,一位全加全减器可由两个半加器,两个异或门和一个或门组成。 4.毛刺的产生与消除 组合逻辑电路由于输入到输出各端的延时不同,在输出端稳定之前会产生错误的输出。在本电路中,由于低位的进位或借位传输到输出的时间比其他信号传输的延时要长,因此当低位产生进位或借位时会出现错误的输出。 一种常见的方法是利用D触发器的D输入端对毛刺信号不敏感的特点,在输出信号的保持时间内,用触发器读取组合逻辑的输入输出信号。由组合逻辑电路的最大延时Td为16.7ns,D触发器的时钟周期T应略大于Td,取20ns。 三.电路原理图设计及vhdl代码 1.D触发器vhdl文件 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY dff IS PORT ( CLK: IN STD_LOGIC; D:in std_logic; Q: OUT STD_LOGIC ); END dff; ARCHITECTURE behav OF dff IS begin process(clk) begin if clk'event and clk='1'then q<=d; end if; end process; end architecture behav; 2.半加器vhdl文件 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity half_adder is port ( a,b :in bit; c,sum:out bit); end half_adder; architecture adder of half_adder is begin c<=a and b; sum<=a xor b;

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