四位二进制数可控加减法 上海交通大学电子技术实验大作业

合集下载

例:试用四位二进制加法器74283构成可控的加法、减法器(允许附加

例:试用四位二进制加法器74283构成可控的加法、减法器(允许附加

+ (-B) 1111 补 1 0100
进位反相) 借位 0 0100 (进位反相) B =0101 1. A-B<0时 A =0001 时 直接相减 补码相加 A 0001 A补 0001 - B 0101 + (-B)补 1011 1100 0 1100 借位 1 1100
当C' =1,有借位 ,
Σ
0
S'0 S'1 S'2
=A补+(-B)反+1 ( )
按位取反
B0 B1 B2 B3
1 1 1 1
Σ 进位
3
和S'
S'3
CO
1
C'
CI
借位C'为进位取反 借位 为进位取反
分析: 分析: A与B相减的结果 与采用补码相加的比较 与 相减的结果 1. A-B≥0时 时 求A-B A补 A=0101 补码相加 0101 B=0001 直接相减 A 0101 - B 0001 0100
A-B < 0 S' =(A+(-B))补 (A+(-B))原 补码再求补 =((A+(-B))补 )补
得原码
S'0 S'1 S'2 S'3
=1 =1 =1 =1
0 A 3 0 B 3
Σ
0
S0 S1 S2
Σ 进位
3
和S
S3
加异或门求反 加异或门不反相 = (S')反+1=S
CO
当C'=0,无借位 , A 1=A
S'0 S'1 S'2
0
Σ
A 0

数电课设四位二进制减法计数(缺1001101011011110)

数电课设四位二进制减法计数(缺1001101011011110)

成绩评定表课程设计任务书摘要集成芯片的出现以其超高度集成化,开始翻天覆地改变我们的生活。

而传统的电路设计方法却越来越无法适应这极其复杂的电路设计要求。

因此,出现了EDA技术,解决了此问题。

而作为EDA的设计入口语言,VHDL是使用最普遍的一种硬件描述语。

本文就是利用在Quartus环境中用VHDL语言实现四位二进制数减计数(缺1010 1011 1100 1101 1110)。

此外,本文还利用Multisim作为另一种方法实现四位二进制数减计数(缺10101011 1100 1101 1110)及仿真。

关键词:集成;EDA;VHDL目录1课程设计目的 (2)2课设题目实现框图 (3)3实现过程 (4)3.1VHDL实现过程 (4)3.1.1建立工程 (4)3.1.2VHDL源程序 (6)3.1.3编译及仿真过程 (8)3.1.4引脚锁定及下载 (9)3.1.5仿真结果分析 (10)3.2电路设计 (11)3.2.1设计原理 (11)3.2.2基于Multisim的设计电路图 (13)3.2.3逻辑分析仪显示的波形及仿真结果分析 (14)4设计体会 (15)5参考文献 (16)1课程设计目的1、熟悉Multisim环境及QuartusⅡ环境,练习数字系统设计方法,包括采用触发器设计和超高速硬件描述语言设计,体会自上而下、自下而上设计方法的优缺点。

2、在QuartusⅡ环境中用VHDL语言实现(各人题目),在仿真器上显示结果波形,并下载到目标芯片上,在实验箱上观察输出结果。

在Multisim环境中仿真实现四位二进制数减计数(缺1010 1011 1100 1101 1110),并通过虚拟仪器验证其正确性。

2课设题目实现框图图2.1所示是按照四位二进制减法计数规律画出的状态图。

0101010000110010000100000/0/0/0/0/−−−−←−−−−←−−−−←−−−−←−−−−←↓1/↑0/0110011110001011110011110/0/0/0/0/−−−→−−−−→−−−−→−−−−→−−−−→− /C排列:Q 3n Q 2n Q 1n Q 0n 图2.1四位二进制减法计数规律画出的状态图其中,按照题目要求,在状态过程中不出现1001、1010、1101、1110。

四位单片机 二进制减法和十进制减法

四位单片机 二进制减法和十进制减法

四位单片机二进制减法和十进制减法下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!四位单片机:二进制减法与十进制减法引言在现代科技领域,单片机技术的应用越来越广泛。

EDA技术与FPGA应用设计实验报告--4位二进制加法计数器

EDA技术与FPGA应用设计实验报告--4位二进制加法计数器

本科实验报告课程名称:EDA技术与FPGA应用设计实验项目:4位二进制加法计数器实验地点:跨越机房专业班级:学号:学生姓名:指导教师:2012年6 月20 日一、实验目的:1.学习时序电路的VHDL描述方法。

2.掌握时序进程中同步、异步控制信号的设计。

3.熟悉EDA的仿真分析和硬件测试技术。

二、实验原理:设计一个含计数使能、异步复位和并行预置功能的4位加法计数器,RST是异步复位信号,高电平有效;CLK是时钟信号;当使能信号ENA为“1”'时,加法计数,COUT为计数进位输出,OUTY为计数输出。

三、实验内容:1.编写4位二进制加法计数器的VHDL程序。

2.在ispDesignEXPERT System上对编码器进行仿真。

3.将输入引脚连接到拨码开关,时钟输入锁定到相应频率的时钟信号,输出连接到发光二极管,下载后在实验板上验证其功能,记录实验结果。

四、实验程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALLUSE IEEE.STD_LOGIC_UNSIGNED.ALLENTITY CNT4B ISPORT(CLK:IN STD_LOGIC;RST:IN STG_LOGIC;ENA:IN STD_LOGIC;OUTY:OUT STD_LODGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END CNT4B;ARCHITECTURE BEHAV OF CNT4B ISSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP_REG: PROCESS(CLK,RST,ENA)BEGINIF RST=’1’THEN CQI<=”0000”;ELSIF CLK’EVENT AND CLK=’1’THENIF ENA= ’1’THEN CQI<=CQI+1;ENG IF;END IF;OUTY <= CQI;END PROCESS P_REG;COUT<= CQI(0) AND CQI(1) AND CQI(2) AND CQI(3); END BEHAV;五、仿真结果:1.时序图:2.功能图:六、心得体会:通过本实验,让我对VHDL编程有了一定的了解和认识,让我初步学习了VHDL的编写及调试过程,实验中有错误产生,但是经过细心的改正,解决了问题,希望下次实验能有更大的提高。

数字电子技术项目4 4位二进制数加法数码显示

数字电子技术项目4  4位二进制数加法数码显示
<B=1。
YAB AB
A1 =B=1&;A<B时,Y AY B
≥1
YAB

A
B
1
YAB
YAB AB
可写出逻辑函数表达式
YAB AB AB AB AB
2.多位数值比较器
如两个多位二进制数进行比较时, 则需从高位到低位逐位进行比较。 只有在高位相应的二进制数相等时, 才能进行低位数的比较。当比较到 某一位二进制数不等时,其比较结 果便为两个多位二进制数的比较结 果。
逻辑电平开关,输出端接LED电平指示,灯亮为1, 灯灭为0。 3)验证功能 输入端按真值表输入不同数值,观察输出端接 LED电平指示,
4.4 项目实施
1.4位二进制数加法数码显示电路
+5V
S1
S2
5
A1
VCC
S3
3
A2
S4
14
A3
S1
4
S5
12
A4
S2
1
S6
6
B1
S3
13
S7
2
B2
S4
S
2. 全加器
将两个多位二进制数相加时,除了将两个同位数 相加外,还应加上来自相邻低位的进位,实现这 种运算的电路称为全加器。
全加器具有三个输入端,A、B为被加数和加数, Ci-1是来自低位的进位输入,两个输出端,Ci是向 高位的进位输出,Si是本位和输出。
写出输出逻辑表达式

Ci-1
=1
Si
Si Ai Bi Ci1
Ai
Bi
Ci Ai Bi Ci1 ( Ai Bi )
=1 &
Ai

四位二进制数的可控加法实验报告

四位二进制数的可控加法实验报告

四位二进制数的可控加法实验报告一、实验目的。

1.了解四位二进制数运算的基本原理,制定设计方案。

2.利用ISE软件进行可编程逻辑器件设计,完成逻辑仿真功能。

3.使用编译器将设计实现,下载到BASYS2实验板上进行调试和验证所设计的四位二进制数的运算。

二、实验器材。

1.Pentium—Ⅲ计算机一台;2.BASYS2 实验板一只;三、实验方案。

1.基本功能。

实现了两个四位二进制数的加减法运算,能够在输出端得出结果.2.清零功能。

利用一个微动开关,在逻辑程序中表示出当按下微动开关后两个操作数都变为零。

再调用以前的加法程序,即可实现输出结果清零。

3.用数码管显示。

编写程序,将数值转换为七段显示器显示。

将运算结果输送到数码管中。

值得注意的是四个数码管要显示不同的数字,就需要利用到人的视觉误差,做一些短暂的延时。

4.溢出显示。

本实验中,设计的是一个无符号数加减法器,因而其共有两种溢出情况一,减法时,减数大于被减数,针对这种情况可以利用比较大小进行溢出判断;二,加法时,被操作数之和大于15。

判断进位,如果进位为1则显示溢出,若反之,则不显示。

四、实验原理图。

五、实验模块说明及部分代码。

1.add1部分。

将输入的两个操作数相加并判断大小。

相加结果放在led中,进位放在carry中。

led[0]=num1[0]^num2[0];carry[0]=num1[0]&num2[0];led[1]=num1[1]^num2[1]^carry[0];carry[1]=(num1[1]&num2[1])|(carry[0]&(num1[1]^num2[1]));led[2]=num1[2]^num2[2]^carry[1];carry[2]=(num1[2]&num2[2])|(carry[1]&(num1[2]^num2[2]));led[3]=num1[3]^num2[3]^carry[2];if(add)begincarry[3]=(num1[3]&num2[3])|(carry[2]&(num1[3]^num2[3]));endif(sub)beginif(compare)carry[3]=1;elsecarry[3]=(num1[3]&num2[3])|(carry[2]&(num1[3]^num2[3]))&(~sub);2.seg7ment。

4位二进制加减法计数器

4位二进制加减法计数器

贵州大学实验报告
学院:计算机科学与信息学院专业:信息安全班级:
c=1;
end
else begin //如果data_r的值不等于0000则执行以下步骤
data_r<=data_r-1; //将data_r-1的值赋给data_r
c=0;
end
end
end
end
endmodule //模块定义结束




从实验结果图可以看出当up_down=1时执行加法计数器,每当clk输入一个上升信号时计数器的值DOUT 增加1。

当up_down=0时执行减法计数器,每当clk输入一个上升信号时计数器的值DOUT减少1。

当load=1是计数器载入预留值即DOUT=DIN。

当clr输入为1是计数器执行清零操作。

注:各学院可根据教学需要对以上栏木进行增减。

表格内容可根据内容扩充。

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

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

组合逻辑电路的课程设计之4位二进制全加\全减器(改进版——加法器与减法器的复合器)自动化工程学院摘要:加法器是产生数的和的装置。

加数和被加数为输入,和数与进位为输出的装置为半加器。

若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。

常用作计算机算算术逻辑部件,执行逻辑操作、移位与指指令调用。

在电子学中,加法器是一种数位电路,其可进行数字的加法计算。

在现代的电脑中,加法器存在于算术逻辑单元(ALU)之中。

加法器可以用来表示各种数值,如:BCD、加三码,主要的加法器是以二进制作运算。

简介:对于简单的四位二进制全加器,本文只做简要介绍,因为对于单一的加法器,显然是不够实用的,本文将着重就一种加法器与减法器的组合,即设计电路一个电路实现2个4位符号数(原码表示)的加减运算。

另有一个控制信号select 选择加法运算或减法运算。

若有溢出则产生溢出指示信号。

这种加法器与减法器的复合器将在实际操作中表现的更加的适用。

关键字:四位二进制全加器,四位二进制全减器,原理图Verilog HDL仿真电路的设计:常见的四位二进制全加器,通过两片74 283可以实现全加器的功能,即如下图所示:单一加法器的真值表如图所示:A3 A2 A1 A0 B3 B2 B1 B0 CIN S3 S2 S1 S0 COUT而详细的电路图为:加法器与减法器的复合器:接下来,我将对于这种加法器与减法器的复合器做详细介绍。

对于这种复合器,通过两个片子来实现。

而详细的电路如图所示:通过select作为选择端口,控制select的电平即可对加减复合器的加减功能进行选择,本电路中当当select接高电平是,选择的是加法器,当select接低电平时选择的是减法器,通过改变select的电平,可以轻松实现加法器和减法器的转换。

在用select选择了加法或是减法功能后,在输入端A3A2A1A0与B3B2B1B0分别为两个运算数的二进制代码,以高低电平来代表1或0,实现了目标数的输入。

实验一 4位二进制计数器实验

实验一  4位二进制计数器实验

计算机组成原理实验报告姓名:学号:班级:院系:实验一 4位二进制计数器实验【实验环境】1. Windows 2000 或 Windows XP2. QuartusII9.1 sp2、DE2-115计算机组成原理教学实验系统一台,排线若干。

【实验目的】1、熟悉VHDL 语言的编写。

2、验证计数器的计数功能。

【实验要求】本实验要求设计一个4位二进制计数器。

要求在时钟脉冲的作用下,完成计数功能,能在输出端看到0-9,A-F 的数据显示。

(其次要求下载到实验版实现显示)【实验原理】计数器是一种用来实现计数功能的时序部件,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。

计数器由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS 触发器、T 触发器、D 触发器及JK 触发器等。

计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。

计数器按计数进制不同,可分为二进制计数器、十进制计数器、其他进制计数器和可变进制计数器,若按计数单元中各触发器所接收计数脉冲和翻转顺序或计数功能来划分,则有异步计数器和同步计数器两大类,以及加法计数器、减法计数器、加/减计数器等,如按预置和清除方式来分,则有并行预置、直接预置、异步清除和同步清除等差别,按权码来分,则有“8421”码,“5421”码、余“3”码等计数器,按集成度来分,有单、双位计数器等等,其最基本的分类如下:计数器的种类⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎩⎪⎨⎧⎩⎨⎧进制计数器十进制计数器二进制计数器进制可逆计数器减法计数器加法计数器功能异步计数器同步计数器结构N 、、、321 下面对同步二进制加法计数器做一些介绍。

同步计数器中,所有触发器的CP 端是相连的,CP 的每一个触发沿都会使所有的触发器状态更新。

电子技术实验大作业实验报告 上海交通大学

电子技术实验大作业实验报告 上海交通大学

电子技术实验大作业实验报告1.实验名称四位二进制数的可控加法/ 减法2.设计思路本作业主要完成的是四位二进制数的可控加法。

实现了附加功能中的在四位数码管上显示和数值溢出的显示功能。

本作业主要由两个模块组成,一个是主程序模块,负责较简单的加法运算;另外一个是a_to_g子程序模块,输入一个4位二进制数字,用来把数字显示在数字管上。

数值溢出则是看cout位是否为1,为1则溢出。

3.程序代码`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company:// Engineer://// Create Date: 05:40:39 04/18/2014// Design Name:// Module Name: adder// Project Name:// Target Devices:// Tool versions:// Description://// Dependencies://// Revision:// Revision 0.01 - File Created// Additional Comments:////////////////////////////////////////////////////////////////////////////////////module adder(input [3:0]sw1,sw2,//input button,input clk,output [6:0]dp_a_to_g,output [3:0]out0);reg cout;reg [3:0]sum;always @(sw1 or sw2)begin{cout,sum}=sw1+sw2;enda_to_g ATOG(.sw(sum),.clk(clk),.dp_a_to_g(dp_a_to_g),.out0(out0),.cout(cout)); endmodulemodule a_to_g(input [3:0]sw,input clk,input cout,output reg [6:0]dp_a_to_g,output reg [3:0]out0);integer num;integer s;integer i;initial begini=0;endalways @(posedge clk)begini=i+1;if (i[16:14]>3) i=0;s=i[15:14];if (~cout) begincase(s)0:out0=4'b0111;1:out0=4'b1011;2:out0=4'b1101;3:out0=4'b1110;endcasecase(s)0:num=sw[0];1:num=sw[1];2:num=sw[2];3:num=sw[3];endcaseendelse beginout0=4'b0000;num=2;endendalways @(*)case(num)0:dp_a_to_g=7'b0000001;1:dp_a_to_g=7'b1001111;2:dp_a_to_g=7'b0110000;default: dp_a_to_g=7'b1111111;endcaseendmodule4.实验心得让四位数码管循环显示时,如果设定的循环间隔太短,则因为毛刺等之类的原因,会使整个数码管亮起来,人眼只能看到四个八。

4位二进制加法器

4位二进制加法器

长安大学电工与电子技术课程设计题目:4位二进制加法器原文来自:/view/3c8d9e26192e45361066f5aa.html对该文本内容略作修正学院专业班级学号姓名日期指导老师前言十九世纪末、二十世纪初,电子技术开始逐渐发展起来,并成为一项新兴技术。

它在二十世纪发展最为迅猛,应用最为广泛,并且成为了近代科学技术发展的一个重要标志。

与信息相关的计算机、微电子及通讯技术已经成为推动社会进步和国家发展的关键技术,而微电子技术又是信息技术的基础,因此,集成电路产业已经成为整个电子信息产业的命脉。

加法器作为各类集成电路模块的核心部件,其重要性不可忽略。

加法运算是最基本的运算,所有的其他基本算术运算,如减法、乘法、除法运算等最终都能归结为加法运算。

在算术逻辑单元完成的操作中,逻辑操作是按位进行,各位之间彼此无关,不存在进位问题,这使得逻辑运算速度很快,且是一个常数,不需要进行过多的优化工作。

但对于算数操作来说,因为存在进位问题,使得某一位计算结果的得出和所有低于它的位相关。

因此,为了减少进位传输所耗的时间,人们设计了多种类型的加法器,于是便有了我们在本课题中所要用到的超前进位加法器——74LS283。

三人分工: 加法器部分:1译码器部分:2数码管部分:3(ps:答辩部分老师说:你就一个数码管?然后老师什么也不问,直接给了个及格。

)目录一、技术要求 (4)二、摘要 (4)三、总体设计方案的论证及选择 (4)1、加法器的选取 (4)2、译码器的选取 (4)3、数码管的选取 (5)四.设计方案的原理框图 (5)五.单元电路设计,主要元器件选择与电路参数计算 (6)1、逻辑开关 (6)2、加法器设计 (6)3、译码器设计 (7)4、数码管设计 (10)六、总图 (11)七、参考文献 (12)八、附件(元器件清单) (12)九、心得体会 (13)十、评语表 (14)一.技术要求1.四位二进制加数与被加数输入2.二位数码管显示二.摘要该设计主要包括两个部分:一是用加法器实现四位二进制加数与被加数的输入,二是将相加产生的二进制和数用二位数码管显示,在此设计中加法器是重点,数码显示是难点。

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

数电课设   四位二进制加法计数器的设计
10
00
0001
0010
0100
0011
01
0101
0110
1000
0111
11
XXXX
0000
XXXX
XXXX
10
1001
1010
XXXX
1101
图2.1次态 的卡诺图
将上述卡诺图对应拆成四个卡诺图,分别求出 、 、 、 表达式
如下所示:
00
01
11
10
00
0
0
0
0
01
0
0
1
0
11
X
0
X
X
10
1
1
成绩评定表
学生姓名
XXX
班级学号
专业
通信工程
课程设计题目
四位二进制计数器
评语
组长签字:
成绩
日期
20 年 月 日
课程设计任务书
学 院
信息科学与技术
专 业
通信工程
学生姓名
XXX
班级学号
课程设计题目
四位二进制同步加法计数器(缺1011 1100 1110 1111)
实践教学要求与任务:
1.了解数字系统设计方法。
图1.3
图1.4
写入程序,保存程序
图1.5
具体程序如下:
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));

四位二进制加法器实验

四位二进制加法器实验

四位二进制加法器实验一、实验目的1.学习FPGA 的设计方法;2.掌握利用Verilog HDL 设计逻辑电路的能力实验所用组件Basys2 开发板(芯片为XC3S100E ,封装为CP132 ) 1 套。

三、实验内容下面是 4 位二进制数加法器的数据流描述,由于被加数 A 和加数 B 都是 4 位的,而低位来的进位 Cin 为 1 位,所以运算的结果可能为5 位,用 {Cout ,Sum}拼接起来表示。

module adder(input [3:0] A,input [3:0] B,input Cin,output [3:0] SUM,output Cout);assign {Cout,SUM}=A+B+Cin;Endmodule 四、实验步骤与要求1.创建一个子目录 Lab2,并新建一个工程项目Create NeW PrOjectSPeCify PrOjeCt IOCatiOn and type.Ent ∙r ⅛ name, IOCAtiOnS z Wd Conment for the projectN%m«:l ⅜b2 I LOCati on : E :∖coding ∖My βxilinx 丄ab ∖1ab2IQ Working DireCtory : E:\coding\My XilinX 丄ab ∖lab2IDescription :SeleCt Ihe type Of top-level SoTIrCe for the PrOjeCtTOP-IeVeI SOUrCe type :HDL F∣HeXt NeW PrqJeCt WiZardCanCelMOre Info2.建立一个 Verilog HDL 文件,将该文件添加到工程项目中并编译整个项目,查看该电路所占用的逻辑单元(Logic Elements ,LE)的数量3.对设计项目进行时序仿真,记录仿真波形图测试代码如下:module add4_tb;// Inputs reg [3:0] A; reg [3:0] B;reg Cin;// Outputswire [3:0] Sum;wire Cout;// Instantiate the Unit Under Test (UUT)add4 uut (.A(A),.B(B),.Cin(Cin),.Sum(Sum),.Cout(Cout));initial begin// Initialize InputsA<=4'd0;B<=4'd0;Cin=1'b0;#1 $display("A B Cin SumCout=%b% b% b% b% b",A,B,Cin,Sum,Cout);A<=4'd0;B<=4'd1;Cin=1'b0;#1 $display("A B Cin SuCout=%b% b% b% b% b",A,B,Cin,Sum,Cout);A<=4'd0;B<=4'd2;Cin=1'b0;#1 $display("A B Cin SuCout=%b% b% b% b% b",A,B,Cin,Sum,Cout);A<=4'd0;B<=4'd3;Cin=1'b0;#1 $display("A B Cin SuCout=%b% b% b% b% b",A,B,Cin,Sum,Cout);A<=4'd0;B<=4'd4;Cin=1'b0;#1 $display("A B Cin SuCout=%b% b% b% b% b",A,B,Cin,Sum,Cout);A<=4'd1;B<=4'd0;Cin=1'b1;#1 $display("A B Cin SuCout=%b% b% b% b% b",A,B,Cin,Sum,Cout);A<=4'd2;B<=4'd0;Cin=1'b0;#1 $display("A B Cin SumCout=%b% b% b% b% b",A,B,Cin,Sum,Cout);A<=4'd4;B<=4'd0;Cin=1'b1;#1 $display("A B Cin SumCout=%b% b% b% b% b",A,B,Cin,Sum,Cout);endendmodule4.根据 FPGA开发板使用说明书,对设计文件中的输入、输出信号分配引脚。

第二次实验课讲义 上海交通大学电子技术实验

第二次实验课讲义 上海交通大学电子技术实验

实验一~三为上课必做内容,实验四可以选做。

实验一四位拨码开关控制显示数字0000~FFFF说明:当拨码开关为0001,四位数码管显示为1111,当拨码开关为0010,四位数码管显示为2222,以此类推,当拨码开关为1111时,四位数码管显示为FFFF。

module seg7ment_sub(input wire [3:0] num,output reg [6:0] a_to_g );always @(*)case(num)0: a_to_g=7'b0000001;1: a_to_g=7'b1001111;2: a_to_g=7'b0010010;3: a_to_g=7'b0000110;4: a_to_g=7'b1001100;5: a_to_g=7'b0100100;6: a_to_g=7'b0100000;7: a_to_g=7'b0001111;8: a_to_g=7'b0000000;9: a_to_g=7'b0000100;'hA: a_to_g=7'b0001000;'hB: a_to_g=7'b1100000;'hC: a_to_g=7'b0110001;'hD: a_to_g=7'b1000010;'hE: a_to_g=7'b0110000;'hF: a_to_g=7'b0111000;default: a_to_g=7'b0000001;endcaseendmodulemodule seg7ment_top(input wire[3:0]sw,output wire[6:0]a_to_g,output wire[3:0]an );assign an=4'b0000;seg7ment_sub A1(.num(sw),.a_to_g (a_to_g));endmodule实验二拨码开关控制数字0~F循环显示说明:c lk做计数时钟输入,BTN0做复位,无进位,四个拨码开关决定对应的数码管循环显示数字0~F(当四个拨码开关为0001时,对应的一个数码管循环显示数字0~F,当四个拨码开关为0011时,对应的二个数码管同时循环显示数字0~F,以此类推,当四个拨码开关为1111时,对应的四个数码管同时循环显示数字0~F)module clk_sw_7seg_sub(input [3:0]NUM,input[3:0]SW,output reg[3:0]an,output reg[6:0]a_to_g);always @(*)an = ~ SW;always @(*)case(NUM)0:a_to_g=7'b0000001;1:a_to_g=7'b1001111;2:a_to_g=7'b0010010;3:a_to_g=7'b0000110;4:a_to_g=7'b1001100;5:a_to_g=7'b0100100;6:a_to_g=7'b0100000;7:a_to_g=7'b0001111;8:a_to_g=7'b0000000;9:a_to_g=7'b0000100;'hA: a_to_g=7'b0001000;'hB: a_to_g=7'b1100000;'hC: a_to_g=7'b0110001;'hD: a_to_g=7'b1000010;'hE: a_to_g=7'b0110000;'hF: a_to_g=7'b0111000;default: a_to_g=7'b0000001;endcaseendmodulemodule clk_sw_7seg_top(input clk,input clr,input[3:0]SW,output[3:0]an,output[6:0]a_to_g);reg[28:0] clk_cnt; //clock countreg [3:0] NUM; //number printed on the segment LEDs always @(posedge clk or posedge clr) //deal the clock and clear events beginif(clr)clk_cnt = 0; //if clear button pressed,clear the clock count elsebeginclk_cnt = clk_cnt + 1; //if clock flip, count clockif(clk_cnt[28:25]>15) //if count was full, back to zeroclk_cnt = 0;endendalways @(*)NUM = clk_cnt[28:25]; //take the higher four bits as number for printing clk_sw_7seg_sub A1( .NUM(NUM),.SW(SW),.an(an),.a_to_g(a_to_g)); //call the sub display module endmodule实验三二位数码管循环显示数字00~FF说明:c lk做计数时钟输入,BTN0做复位,数字00~FF在数码管右二位循环显示。

4位二进制加法器

4位二进制加法器

《电工与电子技术基础》课程设计报告题目四位二进制加法计数器学院(部)汽车学院专业汽车运用工程班级22020903学生姓名郭金宝学号220209031006 月12 日至06 月22 日共 1.5 周指导教师(签字)评语评审人:四位二进制加法器一.技术要求1.四位二进制加数与被加数输入2.二位显示二.摘要本设计通过逻辑开关将A3,A2,A1,A0和B3,B2,B1,B0信号作为加数和被加数输入到超前进位加法器74LS283中进行四位二进制相加,将输出信号S4,S3,S2,S1和向高位的进位C1输入一个译码器译码。

再将输出信号X4,X3,X2,X1和Y4,Y3,Y2,Y1分别输入一个74LS247型的七段显示译码器译码,最后分别接一个BS204数码管进行二位显示。

关键字:74LS283 74LS247 BS204三.总体设计方案的论证及选择1.加法器的选取加法器有两种,分别是串行进位加法器和超前进位加法器。

串行进位加法器由全加器级联构成,高位的运算必须等到低位加法完成送来进位时才能进行。

它虽然电路简单,但运算速度较慢,而且位数越多,速度就越慢。

T692型集成全加器就是这种四位串行加法器。

超前进位加法器由逻辑电路根据输入信号同时形成各位向高位的进位。

使各位的进位直接由加数和被加数来决定,而不需依赖低位进位,这就省去了进位信号逐级传送所用的时间,所以这种加法器能够快速进位。

因为它的这个优点我们选取超前进位加法器。

超前进位加法器的型号有多种,由于我们是非电专业,对电子器件的选取要求不高,为使设计简单所以选74LS283型加法器。

2.译码器的选取译码器的功能是将二进制代码(输入)按其编码时的原意翻译成对应的信号或十进制数码(输出)。

译码器是组合逻辑电路的一个重要器件,其可以分为:变量译码和显示译码两类。

译码器的种类很多,但它们的工作原理和分析设计方法大同小异,其中二进制译码器、二-十进制译码器和显示译码器是三种最典型,使用十分广泛的译码电路。

完整word版四位二进制减法计数器

完整word版四位二进制减法计数器

成绩评定表课程设计任务书通信工程学生姓名范文龙班级学号1103060217信息科学与工程学院课程设计题目四位二进制减法计数器(缺0000 0001 0010)实践教学要求与任务:1、了解数字系统设计方法2、熟悉VHDL语言及其仿真环境、下载方法3、熟悉Multisim环境4、设计实现四位二进制减法计数器(缺0000 0001°010)工作计划与进度安排:第一周熟悉Multisim环境及Quartusn坏境,练习数字系统设计方法,包括采用触发器设计和超高速硬件描述语言设计,体会自上而下、自下而上设计方法的优缺点。

第二周在Quartusn环境中用VHDL语言实现四位二进制减法器(缺00000001 0010),在仿真器上显示结果波形,并下载到目标芯片上,在实验箱上观察输出结果。

在Multisim环境中仿真实现四位二进制减法计数器(缺0000 0001 0010 ),并通过虚拟仪器验证其正确性。

201年月曰201年月曰201年月曰Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,应用范围非常广泛,由于数字系统中高低电平分别用0和1表示,数字电路问题可以转化成逻辑问题,可以通过仿真电路表示出来,进行观察和研究,并且可以下载到实验箱上。

此次课程设计我将使用VHDL设计一个四位二进制减法器。

Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。

它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。

在这次课设中我将用它绘制出电路图,进行四位二进制减法器模拟。

关键词:Quartus II; VHDL ; Multisim ;减法器、课程设计目的 二、设计框图 三、实现过程1、QUARTUS II 实现过程1. 1建立工程 ・2• •1. 2编译程序 7 1. 3波形仿真 1, ・1 1.4引脚锁定与下载 1. .5 1. 5仿真结果分析1. .6 2 MULTISIM 实现过程・1. 、6 2. 1求驱动方程 1. .6 2.2画逻辑电路图 2. .0 2. 3逻辑分析仪的仿真 2. ・1 2. 4结果分析・22.沈阳理工大学目录.1 四、总结.3 五、口参考书目、课程设计目的1: 了解四位二进制计数器工作原理和逻辑功能。

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

《四位二进制数可控加减法》实验报告
实验名称: 四位二进制数可控加减法
姓名:
学号:
班级:
目录
一、实验方案 (3)
二、设计思路................................................................................ 错误!未定义书签。

三、程序代码................................................................................ 错误!未定义书签。

四、调试问题 (6)
五、心得感想 (7)
一、实验方案
1)基本功能
实现两个四位二进制数的加减法运算,能够在led灯和数码管显示出结果。

2)清零功能
利用一个微动开关,当微动开关按下时结果清零显示。

3)数码管显示
将结果转换为七段显示器显示。

将运算结果输送到数码管中。

利用到人的视觉误差和短暂延时显示四位运算结果。

4)溢出问题
若有溢出,则数码管显示“E”。

二、设计思路
基本功能中分为连个模块,主模块用来运算加减法以及记录溢出和结果,子模块用来进行七段数码管的显示。

扩展功能中数码管显示要利用暂留现象,因此利用时钟clk来进行设计。

三、程序代码
module show_sub(
input [1:0]num,
output reg [6:0] a_to_g );
always @(*)
case(num)
2'b00: a_to_g=7'b1000000;
2'b01: a_to_g=7'b1111001;
2'b10: a_to_g=7'b1111111;
2'b11: a_to_g=7'b0000110;
default: a_to_g=7'b0000110;
endcase
endmodule
module show_top(
input clk,clr,
input wire [7:0] sw,
input plus,sub,
output wire [6:0] a_to_g,
output reg [3:0] an,
output reg [3:0] led );
reg [15:0] clk_cnt;
wire [1:0]s;
reg [3:0] result; //运算结果
reg [1:0] res;
reg flag; //溢出标志
wire [3:0] data1;
wire [3:0] data2;
assign data1=sw[7:4];
assign data2=sw[3:0];
assign s=clk_cnt[15:14];
always @(posedge clk)
begin
clk_cnt=clk_cnt+1;
end
always@(posedge plus or posedge sub or posedge clr)。

相关文档
最新文档