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

一. 实验说明

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

1.引脚功能表
VHDL 实现一位全加器以及 Quartus II 初探_第1张图片

逻辑说明: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. 实验原理

一位全加器的真值表

VHDL 实现一位全加器以及 Quartus II 初探_第2张图片

说明: 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 显示逻辑电路图

不同版本的菜单栏子选项可能位置不同,但基本操作一致
VHDL 实现一位全加器以及 Quartus II 初探_第3张图片

显示的逻辑电路图
VHDL 实现一位全加器以及 Quartus II 初探_第4张图片
3. 逻辑电路图显示成功后,进行仿真,确认功能的正确性
选择 File –> New, 弹窗中选择 VectorWaveForm File,点击 OK
VHDL 实现一位全加器以及 Quartus II 初探_第5张图片

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

VHDL 实现一位全加器以及 Quartus II 初探_第6张图片
弹窗左侧分栏出现实体 name –> 点击两个分栏中间的 >> 按钮,左侧实体全部添加到右侧

VHDL 实现一位全加器以及 Quartus II 初探_第7张图片

左侧实体全部添加到右侧
VHDL 实现一位全加器以及 Quartus II 初探_第8张图片

连续两次点击 OK 推出当前弹窗 –> 工作区出现波形
VHDL 实现一位全加器以及 Quartus II 初探_第9张图片

用鼠标左键选择想要赋值区域,选中后给出相应0、1信号
VHDL 实现一位全加器以及 Quartus II 初探_第10张图片

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

VHDL 实现一位全加器以及 Quartus II 初探_第11张图片

稍等片刻,弹出仿真结果
VHDL 实现一位全加器以及 Quartus II 初探_第12张图片

你可能感兴趣的:(计算机组成原理)