一位全减器
- 格式:doc
- 大小:167.00 KB
- 文档页数:3
自我检测题1.组合逻辑电路任何时刻的输出信号,与该时刻的输入信号 有关 ,与以前的输入信号 无关 。
2.在组合逻辑电路中,当输入信号改变状态时,输出端可能出现瞬间干扰窄脉冲的现象称为 竞争冒险 。
3.8线—3线优先编码器74LS148的优先编码顺序是7I 、6I 、5I 、…、0I ,输出为2Y 1Y 0Y 。
输入输出均为低电平有效。
当输入7I 6I 5I …0I 为时,输出2Y 1Y 0Y 为 010 。
4.3线—8线译码器74HC138处于译码状态时,当输入A 2A 1A 0=001时,输出07Y ~Y = 。
5.实现将公共数据上的数字信号按要求分配到不同电路中去的电路叫 数据分配器 。
6.根据需要选择一路信号送到公共数据线上的电路叫 数据选择器 。
7.一位数值比较器,输入信号为两个要比较的一位二进制数,用A 、B 表示,输出信号为比较结果:Y (A >B ) 、Y (A =B )和Y (A <B ),则Y (A >B )的逻辑表达式为B A 。
8.能完成两个一位二进制数相加,并考虑到低位进位的器件称为 全加器 。
9.多位加法器采用超前进位的目的是简化电路结构 × 。
(√,× ) 10.组合逻辑电路中的冒险是由于 引起的。
A .电路未达到最简 B .电路有多个输出C .电路中的时延D .逻辑门类型不同11.用取样法消除两级与非门电路中可能出现的冒险,以下说法哪一种是正确并优先考虑的A .在输出级加正取样脉冲B .在输入级加正取样脉冲C .在输出级加负取样脉冲D .在输入级加负取样脉冲12.当二输入与非门输入为 变化时,输出可能有竞争冒险。
A .01→10B .00→10C .10→11D .11→0113.译码器74HC138的使能端321E E E 取值为 时,处于允许译码状态。
A .011 B .100 C .101 D .01014.数据分配器和 有着相同的基本电路结构形式。
【关键字】设计南昌大学实验报告学生姓名:学号:89 专业班级:电子081实验类型:□ 验证□ 综合设计□ 创新实验日期:实验成绩:实验一1位二进制全减器设计一、实验目的1)熟悉实验设备和软件,掌握Quartus II 的VHDL文本设计及原理图设计全过程;2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件尝试结果;二、实验内容与要求1)完成一位二进制全减器的设计,用LED显示输出结果;2)用分层设计的方法设计,顶层为全减器(文本输入法),底层为半减器(原理图输入法)和逻辑门组成;3)自行完成设计与仿真、波形分析、下载与硬件尝试等全过程,验证设计是否正确;三、设计思路/原理图首先根据一位二进制半减器运行原理,列出半减器真值表(如图一所示),并由真值表设计出半减器原理图(如图二),根据全减器真值表(图三)可用两个半减器和一个或门组成一位二进制全减器。
a b so co0 0 0 00 1 1 11 0 1 01 1 0 0图一半减器真值表a b c cout sub0 0 0 0 00 0 1 1 10 1 0 1 10 1 1 1 01 0 0 0 11 0 1 0 01 1 0 0 01 1 1 1 1图三全减器真值表图四由半减器组成的全减器原理图四、实验程序(顶层程序参考EDA教材88页一位二进制全加器顶层文本设计)底层(原理图输入)半加器连接图:定义或门:顶层(文本输入)LIBRARY IEEE; --1位二进制全减器顶层描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_m IS --定义f_m实体PORT (ain,bin,cin :IN STD_LOGIC;cout,sub:OUT STD_LOGIC);END ENTITY f_m;ARCHITECTURE one OF f_m IS --描述结构体COMPONENT h_m --定义h_m各引脚PORT ( a,b : IN STD_LOGIC ;co,so : OUT STD_LOGIC) ;END COMPONENT ;COMPONENT or2a --定义or2a各引脚PORT (a,b : IN STD_LOGIC;c : OUT STD_LOGIC) ;END COMPONENT ;SIGNAL d,e,f : STD_LOGIC ; --定义信号d,e,f的类型BEGIN --描述底层各元件的连接u1 : h_m PORT MAP (a=>ain, b=>bin, co=>d, so=>e) ;u2 : h_m PORT MAP (a=>e, b=>cin, co=>f, so=>sub);u3 : or2a PORT MAP (a=>d, b=>f, c=>cout);END ARCHITECTURE one ; --结束结构体描述五、实验步骤1.建立工作库文件夹和编辑设计文件1)在D盘新建立一个文件夹命名为f_m,选择ACEX1K芯片,保存下面的工程文件;2)打开quartus II,选择菜单File→New→Block diagram/schematic file,点击OK,输入半减器原理图,保存为h_m.bdf并选择菜单file→create/update→createVHDL component declaration files for current file2.选择菜单File→New→Block diagram/schematic file,点击OK,定义或门,保存为or2a.bdf并选择菜单file→create/update→create VHDL component declarati on filesfor current file3.选择菜单File→New→VHDL file,点击OK后在打开的界面下输入已设计的程序,保存为f_m.vhd;4.对f_m.vhd进行编译5.创建仿真文件f_m.vwf,将所有引脚拉入仿真文件,设定end time以及ain,bin,cin输入值,进行仿真6.选择assignments→pins 设置各引脚,并编译;7.下载程序,验证实验结果;六、仿真波形分析下图为实验所得的波形图:a b c d e f g h i区间ain bin cin cout sub LED6 LED5 a-b 0 0 0 0 0 灭灭b-c 0 0 1 1 1 亮亮c-d 0 1 0 1 1 亮亮d-e 0 1 1 1 0 亮灭e-f 1 0 0 0 1 灭亮f-g 1 0 1 0 0 灭灭g-h 1 1 0 0 0 灭灭h-i 1 1 1 1 1 亮亮借位情况,cout为本位输出,sub为向上借位的值,由上表可知,仿真结果与理论值(全减器真值表)一致,故仿真成功。
1、用3线—8线译码器74LS138和门电路设计1位二进制全减器,输入为被减数、减数和来自低位的借位;输出为两数之差和向高位的借位信号(74LS138的逻辑框图如图1.1所示)。
CO---向高位的借位; Y---两位数之差;C I ---来自低位的借位;
故:
Y=m 1+m 2+m 4+m 7;CO=m 3+m 5+m 6+m 7; 其逻辑图如下:
Y
2、试用8选1数据选择器74LS152和必要的门电路设计一个路灯控制电路,要求在四个不同的地方都能独立地开灯和关灯,画出逻辑电路图(74LS152的逻辑框图如图2.1所示)。
i i i m D A A A D A A A D Y ∑
==++⋅⋅=7001270120 图2.1 74LS152的逻辑框图
D3
D2D1
D0
Y A0A1
A2
D7
D6D5D4
74L S 152
m m m
m
其中A3,A2,A1,A0分别代表四个不同的地方;Y代表灯;1代表亮,或是开关闭合;0代表灯灭;
Y=A3(m1+m2+m4+m0)
对照着所给的逻辑表达式可得:
D0=D1=D2=D4=A3
D3=D5=D6=D7=0; A2=A2;A1=A1;A0=A0;
故逻辑图如下所示:
A3
Y
1。
自我检测题1.组合逻辑电路任何时刻的输出信号,与该时刻的输入信号 有关 ,与以前的输入信号 无关 。
2.在组合逻辑电路中,当输入信号改变状态时,输出端可能出现瞬间干扰窄脉冲的现象称为 竞争冒险 。
3.8线—3线优先编码器74LS148的优先编码顺序是7I 、6I 、5I 、…、0I ,输出为2Y 1Y 0Y 。
输入输出均为低电平有效。
当输入7I 6I 5I …0I 为时,输出2Y 1Y 0Y 为 010 。
4.3线—8线译码器74HC138处于译码状态时,当输入A 2A 1A 0=001时,输出07Y ~Y = 。
5.实现将公共数据上的数字信号按要求分配到不同电路中去的电路叫 数据分配器 。
6.根据需要选择一路信号送到公共数据线上的电路叫 数据选择器 。
7.一位数值比较器,输入信号为两个要比较的一位二进制数,用A 、B 表示,输出信号为比较结果:Y (A >B ) 、Y (A =B )和Y (A <B ),则Y (A >B )的逻辑表达式为B A 。
8.能完成两个一位二进制数相加,并考虑到低位进位的器件称为 全加器 。
9.多位加法器采用超前进位的目的是简化电路结构 × 。
(√,× ) 10.组合逻辑电路中的冒险是由于 引起的。
A .电路未达到最简 B .电路有多个输出 C .电路中的时延 D .逻辑门类型不同11.用取样法消除两级与非门电路中可能出现的冒险,以下说法哪一种是正确并优先考虑的A .在输出级加正取样脉冲B .在输入级加正取样脉冲C .在输出级加负取样脉冲D .在输入级加负取样脉冲 12.当二输入与非门输入为 变化时,输出可能有竞争冒险。
A .01→10B .00→10C .10→11D .11→01 13.译码器74HC138的使能端321E E E 取值为 时,处于允许译码状态。
A .011 B .100 C .101 D .010 14.数据分配器和 有着相同的基本电路结构形式。
-.自我检测题1.组合逻辑电路任何时刻的输出信号,与该时刻的输入信号 有关 ,与以前的输入信号 无关 。
2.在组合逻辑电路中,当输入信号改变状态时,输出端可能出现瞬间干扰窄脉冲的现象称为 竞争冒险 。
3.8线—3线优先编码器74LS148的优先编码顺序是7I 、6I 、5I 、…、0I ,输出为2Y 1Y 0Y 。
输入输出均为低电平有效。
当输入7I 6I 5I …0I 为11010101时,输出2Y 1Y 0Y 为 010 。
4.3线—8线译码器74HC138处于译码状态时,当输入A 2A 1A 0=001时,输出07Y ~Y = 11111101 。
5.实现将公共数据上的数字信号按要求分配到不同电路中去的电路叫 数据分配器 。
6.根据需要选择一路信号送到公共数据线上的电路叫 数据选择器 。
7.一位数值比拟器,输入信号为两个要比拟的一位二进制数,用A 、B 表示,输出信号为比拟结果:Y (A >B ) 、Y (A =B )和Y (A <B ),那么Y (A >B )的逻辑表达式为B A 。
8.能完成两个一位二进制数相加,并考虑到低位进位的器件称为 全加器 。
9.多位加法器采用超前进位的目的是简化电路构造 × 。
〔√,× 〕 10.组合逻辑电路中的冒险是由于 引起的。
A .电路未到达最简 B .电路有多个输出C .电路中的时延D .逻辑门类型不同11.用取样法消除两级与非门电路中可能出现的冒险,以下说法哪一种是正确并优先考虑的?A .在输出级加正取样脉冲B .在输入级加正取样脉冲C .在输出级加负取样脉冲D .在输入级加负取样脉冲12.当二输入与非门输入为 变化时,输出可能有竞争冒险。
A .01→10B .00→10C .10→11D .11→0113.译码器74HC138的使能端321E E E 取值为 时,处于允许译码状态。
A .011 B .100 C .101 D .01014.数据分配器和 有着一样的根本电路构造形式。
自我检测题1.组合逻辑电路任何时刻的输出信号,与该时刻的输入信号 有关 ,与以前的输入信号 无关 。
2.在组合逻辑电路中,当输入信号改变状态时,输出端可能出现瞬间干扰窄脉冲的现象称为 竞争冒险 。
3.8线—3线优先编码器74LS148的优先编码顺序是7I 、6I 、5I 、…、0I ,输出为2Y 1Y 0Y 。
输入输出均为低电平有效。
当输入7I 6I 5I …0I 为11010101时,输出2Y 1Y 0Y 为 010 。
4.3线—8线译码器74HC138处于译码状态时,当输入A 2A 1A 0=001时,输出07Y ~Y = 11111101 。
5.实现将公共数据上的数字信号按要求分配到不同电路中去的电路叫 数据分配器 。
6.根据需要选择一路信号送到公共数据线上的电路叫 数据选择器 。
7.一位数值比拟器,输入信号为两个要比拟的一位二进制数,用A 、B 表示,输出信号为比拟结果:Y (A >B ) 、Y (A =B )和Y (A <B ),那么Y (A >B )的逻辑表达式为B A 。
8.能完成两个一位二进制数相加,并考虑到低位进位的器件称为 全加器 。
9.多位加法器采用超前进位的目的是简化电路结构 × 。
〔√,× 〕 10.组合逻辑电路中的冒险是由于 引起的。
A .电路未到达最简 B .电路有多个输出C .电路中的时延D .逻辑门类型不同11.用取样法消除两级与非门电路中可能出现的冒险,以下说法哪一种是正确并优先考虑的?A .在输出级加正取样脉冲B .在输入级加正取样脉冲C .在输出级加负取样脉冲D .在输入级加负取样脉冲12.当二输入与非门输入为 变化时,输出可能有竞争冒险。
A .01→10B .00→10C .10→11D .11→0113.译码器74HC138的使能端321E E E 取值为 时,处于允许译码状态。
A .011 B .100 C .101 D .01014.数据分配器和 有着相同的根本电路结构形式。
实验一 1位二进制全减器设计一、实验目的1. 熟悉EDA 技术开发流程;2. 熟悉Quartes II 集成开发软件的使用;3. 学习用原理图输入法和文本输入法进行简单设计;4. 熟悉简单组合电路设计,掌握系统仿真,学会分析硬件测试结果;5. 初步熟悉EDA 实验装置的使用。
二、实验内容与要求1.完成全减器的设计:分别使用原理图输入法和文本输入法设计一位二进制全减器,用分层设计方法,顶层为全减器,底层由半减器(也用原理图输入法)和逻辑门组成;2.进行波形仿真,并分析仿真波形图;3.下载测试减法器是否正确。
三、设计思路/原理图由课本P79:1位二进制全加器的设计可以仿照出1位二进制全减器的设计。
实验框图如真值表画出卡诺图并化简可得: Ca=M N ;Re=(M N)+(M ·N)。
选择相应组合逻辑器件可以构成半减器和全减器。
四、 实验程序:按照实验要求:底层半减器用原理图输入法,顶层为全减器,可知只需写出全减器和或门程序如下:(1)全减器程序:library ieee; --1位二进制全减器顶层设计描述 use ieee.std_logic_1164.all; entity f_suber isport (min, nin, lin : in std_logic; --减数、被减数和低位来的借位 cary, sub : out std_logic); --进位和结果end entity f_suber;architecture fs1 of f_suber iscomponent h_suber--对要调用的元件h_suber的界面端口进行定义port ( m, n: in std_logic;ca, re: out std_logic);end component;component or2a --对要调用的元件or2a的界面端口进行定义port (a, b: in std_logic;c:out std_logic);end component;signal g, h, y: std_logic;begins1 : h_suber port map (m=>min, n=>nin, ca=>g, re=>h);--例化一个1位二进制半减器s2 : h_suber port map (m=>h, n=>lin, ca=>y, re=>sub);--例化一个1位二进制半减器s3 : or2a port map (a=>g, b=>y, c=>cary); --例化一个或门end architecture fs1;(2)或门程序: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;五、实验步骤1.用原理图输入法设计半减器(1)打开Quartus II软件,进入编辑环境。
自我检测题1.组合逻辑电路任何时刻的输出信号,与该时刻的输入信号 有关 ,与以前的输入信号 无关 。
2.在组合逻辑电路中,当输入信号改变状态时,输出端可能出现瞬间干扰窄脉冲的现象称为 竞争冒险 。
3.8线—3线优先编码器74LS148的优先编码顺序是7I 、6I 、5I 、…、0I ,输出为2Y 1Y 0Y 。
输入输出均为低电平有效。
当输入7I 6I 5I …0I 为时,输出2Y 1Y 0Y 为 010 。
4.3线—8线译码器74HC138处于译码状态时,当输入A 2A 1A 0=001时,输出07Y ~Y = 。
5.实现将公共数据上的数字信号按要求分配到不同电路中去的电路叫 数据分配器 。
6.根据需要选择一路信号送到公共数据线上的电路叫 数据选择器 。
7.一位数值比较器,输入信号为两个要比较的一位二进制数,用A 、B 表示,输出信号为比较结果:Y (A >B ) 、Y (A =B )和Y (A <B ),则Y (A >B )的逻辑表达式为B A 。
8.能完成两个一位二进制数相加,并考虑到低位进位的器件称为 全加器 。
9.多位加法器采用超前进位的目的是简化电路结构 × 。
(√,× ) 10.组合逻辑电路中的冒险是由于 引起的。
A .电路未达到最简 B .电路有多个输出 C .电路中的时延 D .逻辑门类型不同11.用取样法消除两级与非门电路中可能出现的冒险,以下说法哪一种是正确并优先考虑的?A .在输出级加正取样脉冲B .在输入级加正取样脉冲C .在输出级加负取样脉冲D .在输入级加负取样脉冲 12.当二输入与非门输入为 变化时,输出可能有竞争冒险。
A .01→10B .00→10C .10→11D .11→01 13.译码器74HC138的使能端321E E E 取值为 时,处于允许译码状态。
A .011 B .100 C .101 D .010 14.数据分配器和 有着相同的基本电路结构形式。
EDA技术实用教程
课题报告
课题名称:一位全减器的设计
院系:
专业:电子信息工程
组员:
设计流程:
一、一位半减器的设计
一位半减器程序如下; 其中x,y 是输入,diff 是输出差,s_out 是借位输出, sub_in 为借位输入。
library ieee;
use ieee.std_logic_1164.all; entity h_suber is
port (x,y : in std_logic; diff,s_out : out std_logic ); end h_suber;
architecture hdlarch of h_suber is begin process(x,y) begin
diff <= x xor y;s_out <= (not x) and y; end process; end hdlarch;
半减器逻辑表达式:
半减器真值表:
输入输出
x y diff s_sout
0000
0111
1010
1100半减器波形图如下:
半减器封装图:
二、一位全减器的设计
一位全减器设计结构图:sub_in为借位输入,clk是输入延迟信号用来消除仿真图中出现的毛刺现象
一位全减器逻辑表达式:
一位全减器真值表:
一位全减器波形图:
一位全减器封装图:。
其中,a为被减数,b为减数,borrow_in为低位向本位的借
位,difference为差,borrow_out为本位向高位的借位.亲,低位,本位,高位各是什么啊,我很业余哎,谢谢啦所谓全减器,就不能只管自己这一位(即本位),还要顾及左右两边的两位。
如果按照从左至右的方向表达一个数的话,那么位权比较高的在左边,位权比较低的在右边,我们就将本位左边的叫高位,本位右边的叫低位。
用十进制数来说明比较好懂,例如456-123,我们关心其中一位,就是中间的5-2这一位的减法,本位就是5-2这一位,低位就是6-3这一位,高位就是
4-1这一位。
一位全减器课程设计一、课程目标知识目标:1. 学生能理解全减器的基本原理,掌握全减器的电路组成和功能。
2. 学生能运用所学知识,分析全减器的逻辑功能,解释全减器在实际电路中的应用。
3. 学生了解全减器与其他逻辑门的关系,能正确区分全减器与半减器的区别。
技能目标:1. 学生能运用所学知识,设计简单的全减器电路,并进行模拟验证。
2. 学生能通过实际操作,分析全减器电路的故障现象,并提出解决方案。
3. 学生具备一定的电路图识别能力,能读懂并绘制全减器电路图。
情感态度价值观目标:1. 培养学生对电子电路的兴趣,激发他们探索电子世界的热情。
2. 培养学生的团队协作精神,使他们学会在小组合作中共同解决问题。
3. 培养学生具备良好的学习习惯,树立严谨的科学态度,提高他们的自主学习能力。
课程性质:本课程为电子技术基础课程,以理论教学与实践操作相结合的方式进行。
学生特点:学生具备一定的电子技术基础知识,对全减器有一定了解,但对实际应用和电路设计尚不熟练。
教学要求:结合学生特点,注重理论与实践相结合,注重培养学生的动手操作能力和创新能力。
在教学过程中,关注学生的个体差异,因材施教,使学生在掌握全减器知识的基础上,提高综合运用能力。
通过具体的学习成果,对学生的学习效果进行评估,确保课程目标的达成。
二、教学内容1. 全减器的基本原理:包括全减器的定义、作用及其在数字电路中的应用。
- 教材章节:第三章第三节《全减器与加法器》- 内容:全减器的工作原理、逻辑表达式、真值表。
2. 全减器的电路组成:分析全减器电路的各个部分,探讨其功能及相互关系。
- 教材章节:第三章第四节《全减器电路的设计》- 内容:全减器电路的组成部分,如输入端、输出端、借位端等。
3. 全减器与其他逻辑门的关系:介绍全减器与半减器、与非门等逻辑门的联系与区别。
- 教材章节:第三章第五节《各类逻辑门的特性与应用》- 内容:全减器与其他逻辑门的功能对比,应用场景。
一位全减器的VHDL设计理工学院03电信(2)班黄金凤0 一.实验目的1.熟悉Max+PlusII和GW48EDA开发系统的使用;2.掌握一位半减器的VHDL设计;3.掌握一位半减器构建一位全减器的方法;4.元件例化语句的使用。
二.实验原理表一. 半减器的真值表其次,一位全减器的逻辑表达式:表二.一位全减器的真值表根据上述的真值表了解半减器和全减器,并设计出VHDL的程序。
描述半减器的VHDL的程序如下:ENTITY halfsub ISPORT(A,B:IN BIT;T,C:OUT BIT);END halfsub;ARCHITECTURE halfsub_arc OF halfsub ISBEGINPROCESS(A,B)BEGINT<= A XOR B AFTER 10 ns;C <= (NOT A) AND B AFTER 10 ns;END PROCESS;END halfsub_arc;其波形图如下:描述或门的VHDL程序如下:ENTITY orgate ISPORT(A1,B1:IN BIT;O1:OUT BIT);END orgate;ARCHITECTURE orgate_arc OF orgate ISBEGINO1<= A1 OR B1;END orgate_arc;然后设计全减器, 以一些中间信号temp_T,temp_c1和temp_c2, 将两个半减器,一个或门的端口连接起来形成对全减器的结构描述。
图10-5(b)所示虚线框有各元件之间的连线命名。
下面是全减器的VHDL程序描述:ENTITY fullsub ISPORT(I1,I2,C_IN:IN BIT;FT,C_OUT:OUT BIT);END fullsub;ARCHITECTURE fullsub_arc OF fullsub ISSIGNAL temp_T,temp_c1,temp_c2:BIT;COMPONENT halfsubPORT(A,B:IN BIT; T,C:OUT BIT);END COMPONENT;COMPONENT orgatePORT(A1,B1:IN BIT; O1:OUT BIT);END COMPONENT;BEGINU0:halfsub PORT MAP(I1,I2,temp_T,temp_c1);U1:halfsub PORT MAP(temp_T,C_IN,FT,temp_c2);U2:orgate PORT MAP(temp_c1,temp_c2,C_OUT);END fullsub_arc;其波形图如下:三.实验步骤1.打开Max+PlusII软件,启动File/New菜单命令,选择Text Editor File,点击OK;2.在空白文件中输入如上的实验原理描述半减器的VHDL的程序,并保存。
用元件例化方法实现全减器一、项目内容:用元件例化方法实现全减器。
二、设计思路:首先设计半减器,然后利用例化语句将半减器和或门元件连接起来,构成全减器的顶层设计文件。
最后经时序仿真验证设计的正确性。
三、流程图:图1设计流程图四、全减器模块图:图2设计流程图本图中diff表示输出差,s_out为借位输出,sub_in是借位输入五、设计主程序:(1)底层文件1:实现或门操作module or2a(a,b,c);input a,b;output c;wire c;assign c=a|b;endmodule(2)底层文件2:实现一位半减器module h_subber(x,y,diff,s_out);input x,y;output diff;reg diff;output reg s_out;wire[1:0] xyz;assign xyz={x,y};always@(xyz)begincase(xyz)2'b00:begin diff<=1'b0;s_out<=1'b0;end2'b01:begin diff<=1'b1;s_out<=1'b1;end2'b10:begin diff<=1'b1;s_out<=1'b0;end2'b11:begin diff<=1'b0;s_out<=1'b0;endendcaseendendmodule(3)顶层文件:实现一位全减器module f_subber(x,y,sub_in,diffr,sub_out);input x,y;input sub_in;output diffr;wire diffr;output sub_out;wire d,e,f;h_subber u1(.x(x),.y(y),.diff(d),.s_out(e));h_subber u2(.x(d),.y(sub_in),.diff(diffr),.s_out(f));or2a u3(.a(f),.b(e),.c(sub_out));endmodule六、波形图及正确性判断设计时序仿真选用Q uartusⅡ9.0实现(1)或门仿真波形及真值表:表1或门真值表图3底层文件1仿真波形(2)半减器波形仿真及真值表:表2半减器真值表图4底层文件2仿真波形(3)全减器波形仿真及真值表:表3一位全减器真值表图5顶层文件仿真波形七、遇到的问题及注意事项:由于本设计采用例化语句实现一位全减器,刚开始时我犯了一个错误,误把所有.v文件放在一个项目中导致无法实现三个时序仿真,后来将各个设计底层文件时单独建工程实现编译及时序仿真,确认无误后,在顶层文件进行全程编译时,再将或门和半减器这两个底层文件加入到顶层工程中去,最终时序仿真结果除存在些许延时现象,结果与真值表一致,从而完成设计。
VerilogHDL 数字设计与综合实验报告一位全减器1.实验目的:熟悉并练习Verilog语言的数据流级建模。
2.实验内容:一位全减器输出D(差),B(借位)逻辑表达式:D = x’y’z + x’yz’ + xy’z’ + xyz;B = x’y + x’z + yz3.实验结果:a.Verilog源代码:module min(D,B,z,x,y);output D,B;input x,y,z;assign D = ((~x)&&(~y)&&(~z))||((~x)&&y&&(~z))||(x&&(~y)&&(~z))||(x&&y&&z); assign B = ((~x)&&y)||((~x)&&z)||(y&&z);endmodulemodule stimulus;reg x,y,z;wire D,B;min m1(D,B,z,x,y);initialx = 1'b0;always#40 x = ~x;initialy = 1'b0;always#20 y = ~y;initialz = 1'b0;always#10 z = ~z;initial#1600 $finish;initial$monitor($time,"outD=%d,outB=%d",D,B);Endmoduleb仿真截图:4.实验结果分析及实验结论:全减器输出逻辑D和B的表达式并不复杂,照样敲就是了,激励模块用到了ALWAYS 语句,用次语句实现输入X,Y,Z值的多次翻转,从而完成所要求的各种逻辑情况。
实验一 1位二进制全减器设计实验一:1位二进制全减器设计一、实验目的本实验旨在通过硬件设计和编程,实现一个1位二进制全减器的设计。
通过本实验,希望学生能够深入理解二进制数的减法运算规则,掌握硬件电路的基本设计和调试方法,提高实践能力和编程技能。
二、实验原理二进制全减器是一种实现两个二进制数相减的逻辑电路。
在一个二进制全减器中,我们需要考虑两个输入位(被减数和减数)以及一个借位输入(来自低位的借位输出)。
根据这些输入,二进制全减器会生成一个输出位(差)和一个借位输出(向低位的借位)。
三、实验步骤1.确定设计方案:根据实验要求,选择合适的硬件设计和编程语言。
本实验中,我们采用Verilog语言进行编程,并使用FPGA(现场可编程门阵列)来实现硬件电路。
2.编写代码:根据二进制全减器的设计要求,编写Verilog代码。
代码应包括模块定义、输入输出端口声明、逻辑设计和时序控制等部分。
3.编译与仿真:将编写的Verilog代码进行编译,生成可被FPGA识别的二进制文件。
然后,使用仿真工具进行功能仿真,验证设计的正确性。
4.硬件调试:将生成的二进制文件下载到FPGA开发板上,进行硬件调试。
通过观察硬件电路的输出结果,验证全减器功能的正确性。
5.性能分析:对设计的全减器进行性能评估,包括运算速度、功耗、资源利用率等指标。
通过对比不同设计方案,分析优劣并提出改进意见。
四、实验结果与分析1.实验结果:通过本次实验,我们成功地设计并实现了一个1位二进制全减器。
在功能仿真和硬件调试中,均验证了该全减器的正确性。
2.结果分析:在设计过程中,我们充分考虑了电路的简洁性和高效性。
在满足设计要求的前提下,尽量减少了逻辑门的数量和复杂度。
这使得我们的全减器在资源利用率、运算速度和功耗等方面均表现出较好的性能。
五、结论与展望通过本次实验,我们成功地设计并实现了一个1位二进制全减器。
该全减器在功能仿真和硬件调试中均表现出良好的性能。
实验一 1位二进制全减器设计一、实验目的1.熟悉Quartes II集成开发软件的使用;2.初步熟悉PH-1V型实验装置的使用;3 . 学习用原理图输入法和文本输入法进行简单的数字电路设计,掌握系统仿真,学会分析硬件测试结果。
二、实验内容与要求1.采用原理图输入法和文本输入法分别实现,分层设计,底层由半减器(也用原理图输入法)和逻辑门组成;2.建立波形文件,并进行系统仿真,用软件验证设计结果;3. 在仿真正确的情况下,对1位二进制半加/减器分别下载到实验箱中做硬件测试三、实验原理及设计思路根据一位二进制全减器的工作原理,可得其真值表为(如下:cin表示低位向本位借位。
cout 表示本位向高位借位)ain bin cin cout sum0 0 0 0 00 0 1 1 10 1 0 1 10 1 1 1 01 0 0 0 11 0 1 0 01 1 0 0 01 1 1 1 1由EDA教程中全加器的顶层设计描述及半加器调用可类比到全减器的设计,可由先对半减器进行描述,然后进行两次调用。
半减器的工作时的逻辑表达式为:so=a XOR b ;co=(NOT a)AND b四、实验程序(程序来源:EDA技术实验教程)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;LIBRARY IEEE; ——半减器描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_suber ISPORT (a, b : IN STD_LOGIC;co, so : OUT STD_LOGIC);END ENTITY h_suber;ARCHITECTURE fh1 OF h_suber isBEGINso <= a xor b ;co <= (not a )AND b ;END ARCHITECTURE fh1;LIBRARY IEEE; ——1位二进制全减器顶层设计描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_suber ISPORT (ain,bin,cin : IN STD_LOGIC;cout,sum : OUT STD_LOGIC );END ENTITY f_suber;ARCHITECTURE fd1 OF f_suber ISCOMPONENT h_suber ——调用半减器声明语句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; ——定义3个信号作为内部的连接线BEGINu1 : h_suber PORT MAP(a=>ain,b=>bin,co=>d,so=>e); ——例化语句u2 : h_suber PORT MAP(a=>e, b=>cin,co=>f,so=>sum);u3 : or2a PORT MAP(a=>d, b=>f,c=>cout);END ARCHITECTURE fd1 ;五、实验步骤:1.打开Quartes II软件,建立工程文件,注意工程名要与实体名一致:2、打开QuartusII,选择菜单File->New->VHDL.File,建立vhdl文件,将以上程序输入并进行编译;3、建立波形文件,并进行系统仿真,注意设置仿真结束时间以及添加结点;4、输入信号波形Tools->Options->Waveform Editor,进行功能仿真Tools->Simulator Tools,在Simulator Mode选择Functional,仿真表生成后点击Start开始仿真,完成后点击Report结果如下图所示;5、引脚锁定,及设置流程对各管脚进行分配,将ain分配给53,bin分配给54,cin分配给55。
全减器真值表逻辑表达式
全减器是一种逻辑电路,其真值表和逻辑表达式用于描述其输入与输出之间的逻辑关系。
全减器的真值表中,函数值等于1的变量组合被选出;对于每一个组合,取值为1的变量写成原变量,取值为0的变量写成反变量,各变量相乘后得到一个乘积项;最后,把各个组合对应的乘积项相加,就得到了相应的逻辑表达式。
以一位全减器为例,其逻辑表达式为:
Difference = A ⊕ B ⊕ Borrow
Borrow = ¬A ∧ B ∨(¬A ∨¬B) ∧ Borrow
其中,⊕表示异或运算,¬表示非运算。
根据异或运算的原理,当A和B相同时,异或的结果为0,否则为1。
因此,A ⊕ B表示相减的结果,Borrow表示进位或借位。
Borrow的逻辑表达式中涉及了多个逻辑运算,包括与运算、或运算和非运算。
这是因为借数的情况需要进一步判断,如果A=0且B=1,那么需要借位;如果A=1且B=0,不需要借位;如果A=0且B=0,需要进位。