硬件描述语言实验二:一位全加器

预习报告部分

  • 实验目的:进一步练习VHDL语言设计工程的建立与仿真的步骤和方法、熟悉VHDL语言基本设计实体的编写方法。
  • 实验原理:全加器设计原理:除本位两个数相加之外,还要加上从低位来的进位数,称为全加器。其中:a为被加数,b为加数,ci为低位向本位的进位,c0为本位向高位的进位,s为本位和。用A、B表示A、B两个数的第i位,Ci-1表示低位(第i –1位)来的进位,则根据全加运算的规则可以列出真值表如表

  Ai   Bi   Ci-1

   Si

Ci

0    0    0

0

0

0    0    1

1

0

0    1    0

1

0

0    1    1

0

1

1    0    0

1

0

1    0    1

0

1

1    1    0

0

1

1    1    1

1

1

 

 

 

 

 

 

 

 

 

 

得出:

s = a xor b xor ci

co =  (a and b) or (a and ci) or (b and ci)

  • 实验内容:

设计一个一位全加器,实体名称为“full_adder”,其引脚与功能如下表。

端口模式

端口名

数据类型

功能逻辑表达式

说明

in(输入)

a

std_logic

 

加数

b

 

加数

ci

 

自低位进位

out(输出)

s

s <= a xor b xor ci

co

co <=  (a and b) or (a and ci) or (b and ci)

向高位进位

 

  • 实验所用设备:PC个人计算机、Windows XP操作系统、Quartus II集成开发环境软件。
  • 实验步骤:①建立工程、②编辑代码、③编译及修改错误、④建立仿真波形并仿真、⑤根据仿真结果分析设计是否正确。

实验报告部分

一、实验步骤:

d76c119f91454c50bd708f5a38d27ca7.png

 

22598bca04744a9b86cc5412b21c81a1.png

 

67a34c190db4405daa4688c0ece433b7.png

 

二、 实验数据及结果分析:

160~320ns之间有输入1+0,低位进位为0,得输出本位和为1,高位进位为0,二进制数为01,1+0=1。320.0ns时输入均为1,低位进位为0,输出本位和0,高位进位为1,二进制码为10,转化为十进制为2,得1+1=2.

  • 附录

(实体名称由full adder改为了my1)

library ieee;

use ieee.std_logic_1164.all;

 

entity my1 is

port(a,b,ci :in std_logic;

      s,co :out std_logic);

        end entity;

        architecture rtl of my1 is

        begin

        s<=a xor b xor ci;

        co<=(a and b)or(a and ci)or(b and ci);

        end rtl;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值