VHDL 实现一位全加器以及 Quartus II 初探

一. 实验说明

使用软件:Quartus II 5.0
实验要求说明:设计一个一位全加器(full adder)

1.引脚功能表
001

逻辑说明:XOR 为异或 ,AND 为 与, OR 为或。输入包括两个加数与一个进位信号;输出包括一个本位和与进位信号

2. VHDL 实现

use ieee.std_logic_1164.all;

entity full_adder1 is 
port (a,b,ci:in std_logic;
        s,co:out std_logic);

end entity;

architecture behave of full_adder1 is
begin 
    s<=a xor b xor ci;
    co<=((a xor b)and ci)or (a and b);

end behave;

3. 实验原理

一位全加器的真值表

002

说明: Ai A i 为被加数, Bi B i 为加数,相邻低位来的进位数为 Ci1 C i − 1 ,输出本位和为 Si S i ,向相邻高位进位数为 Ci C i

一位全加器的表达式如下:

Si=AiBiCi1 S i = A i ⊕ B i ⊕ C i − 1
Ci=AiBi+Ci1(Ai+Bi) C i = A i B i + C i − 1 ( A i + B i )

第二个表达式也可用一个异或门来代替或门对其中两个输入信号进行求和:

Ci=AiBi+Ci1(AiBi) C i = A i B i + C i − 1 ( A i ⊕ B i )

二. Quartus II 使用

熟练掌握软件基本的操作,利用 Quartus II 设计简单的一位全加器,并进行仿真实验

1. 点击右向三角进行源码编译
003
2. 显示编译成功后,选择菜单栏 Tools –> RTL Viewer 显示逻辑电路图

不同版本的菜单栏子选项可能位置不同,但基本操作一致
004

显示的逻辑电路图
005
3. 逻辑电路图显示成功后,进行仿真,确认功能的正确性
选择 File –> New, 弹窗中选择 VectorWaveForm File,点击 OK
006

新窗口左侧空白处双击,弹窗中选择 Node Finder 按钮 –> 弹窗中选择 List 按钮

009
弹窗左侧分栏出现实体 name –> 点击两个分栏中间的 >> 按钮,左侧实体全部添加到右侧

007

左侧实体全部添加到右侧
008

连续两次点击 OK 推出当前弹窗 –> 工作区出现波形
009

用鼠标左键选择想要赋值区域,选中后给出相应0、1信号
013

选择保存后(默认位置与默认文件名即可),选择菜单栏功能仿真按钮

这里写图片描述

稍等片刻,弹出仿真结果
014

  • 13
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值