FPGA学习之路 您所在的位置:网站首页 verilog16位加法运算 FPGA学习之路

FPGA学习之路

2024-02-18 19:17| 来源: 网络整理| 查看: 265

FPGA学习之路——基于Verilog设计单总线8位ALU 定义

ALU(arithmetic and logic unit) 算术逻辑单元,简称ALU,是计算机的数学运算核心,也就是负责运算的组件,如将两个数相减或者做逻辑运算等。基本其它的组件都用到了ALU,它有两个单元,算术单元和逻辑单元。算术单元执行如加、减、乘、除操作,逻辑单元执行与、或、非、异或等操作。

ALU的输入为操作数以及来自控制单元的控制命令(ADD R0,R1;),输出为运算结果以及状态信息。 ALU ALU的设计流程如下图所示。 ALU设计流程

单总线结构,是指所有部件都接到同一总线上,数据可以在任何两个寄存器之间,或是在任一寄存器和ALU之间传送。在同一时间内,只能有一个操作数放在总线上进行传输。 所以对本次的ALU设计而言,需要分两次才能将两个操作数输入到ALU,且需要A、B两个缓冲寄存器。优点是控制电路比较简单,缺点是操作速度较慢。 单总线结构

功能

算术运算:带进位加减法、不带进位加减法 逻辑运算:与、或、异或、同或 移位操作:左移、右移、清零、取反

//算术运算 parameter A_ADDC=5'd1; //带进位加法 parameter A_ADD=5'd2; //不带进位加法 parameter A_SUBC=5'd3; //带进位减法 parameter A_SUB=5'd4; //不带进位减法 //逻辑运算 parameter A_AND=5'd5; //与操作 parameter A_OR=5'd6; //或操作 parameter A_XOR=5'd7; //异或操作 parameter A_NOR=5'd8; //同或操作 //移位功能 parameter A_SHIFT=5'd9; //移位操作 //移位选择 parameter A_LSH=2'd0; //左移操作 parameter A_RSH=2'd1; //右移操作 parameter A_CLR=2'd2; //数据清零 parameter A_CPL=2'd3; //数据取反

输出包括计算结果dataout、进位标志CY、零标志ZN和溢出标志OV,以不带进位加法为例说明输出的计算过程。

A_ADD:begin {CYreg,dataout}


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有