FPGA入门:从半加器到四位全加器的设计与实现
创作时间:
作者:
@小白创作中心
FPGA入门:从半加器到四位全加器的设计与实现
引用
CSDN
1.
https://blog.csdn.net/qq_73050400/article/details/145999527
本文将从基础的半加器开始,逐步介绍一位全加器和四位全加器的设计原理和Verilog代码实现。通过本文的学习,读者将能够掌握FPGA设计中的基本加法器电路,并能够进行实际的代码编写和仿真验证。
一、半加器
1、半加器的真值表
半加器是最简单的加法器,用于计算两个一位二进制数的和。其真值表如下:
输入a | 输入b | 输出个位(s) | 输出十位(c) |
|---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
2、Verilog代码实现
module one_bit_adder (
input wire a,
input wire b,
output wire c,
output wire s
);
assign s = a ^ b; // 个位
assign c = a & b; // 十位
endmodule
3、RTL原理图
4、波形仿真
波形仿真图缺失
二、一位全加器
1、一位全加器真值表
一位全加器在半加器的基础上增加了进位输入,可以处理来自低位的进位。其真值表如下:
输入A | 输入B | 进位输入Cin | 输出和Sum | 进位输出Cout |
|---|---|---|---|---|
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 |
2、Verilog代码实现
module full_adder(
input A,
input B,
input Cin, // 进位
output sum, // 个位
output cout // 十位
);
assign sum = A ^ B ^ Cin;
assign cout = (A & B) | (Cin & (A ^ B));
endmodule
3、RTL原理图
波形仿真图缺失
三、四位加法器
四位加法器由多个一位全加器级联而成,可以实现两个四位二进制数的加法运算。
1、创建工程
在FPGA开发环境中创建一个新的工程。
2、创建Verilog文件
在工程中创建一个新的Verilog文件,用于编写四位加法器的代码。
3、Verilog代码实现
module full_add_4(a, b, cin, cout, sum);
// 输入信号,a 和 b 是 4 位宽的输入,表示两个 4 位二进制数
input [3:0] a, b; // a[3] 是最高位,a[0] 是最低位
input cin; // 进位输入,表示来自低位的进位
// 输出信号,sum 是 4 位宽的输出,表示 a 和 b 的和
output [3:0] sum;
// 输出信号,cout 是 1 位宽的输出,表示向高位的进位
output cout;
// 使用连续赋值语句计算 a + b + cin 的结果
// {cout, sum} 表示将进位 cout 和和 sum 拼接成一个 5 位的结果
// a + b + cin 的结果会自动扩展到 5 位,其中最高位是进位 cout,低 4 位是和 sum
assign {cout, sum} = a + b + cin;
endmodule
4、RTL原理图
5、波形仿真
波形仿真图缺失
6、引脚配置
1)输入引脚
2)输出引脚
3)设置引脚
7、下载
将编译后的比特流文件下载到FPGA开发板上。
8、结果
通过FPGA实现的四位全加器可以正确完成两个四位二进制数的加法运算。
热门推荐
哲学是什么?迄今为止最准确的定义
黄精主要功效和作用是什么
三相电原理:为什么三相电不需要零线?
怎么查自己狗的品种?有哪些简单的方法可以识别?
中级安全工程师报考条件详解:资格要求、学历标准与工作经验全面解析
屠格涅夫:俄罗斯的文学巨匠
木瓜树被砍掉后是否还能结果?答案在这里
白居易《卖炭翁》:揭露宫市之害的千古名篇
适合5月份种的草
如何使用反馈改进目标设定过程
服务印花税合同税率查询指南
自动溶出仪:药物研发与质量控制的得力助手
助力电池实现6C超快充的“关键”材料
每个月份的代表花卉及寓意,12种花卉,各有独特风采
交强险:车主必知的强制保险详解
山西发布重磅补贴政策:最高补贴2万元!电动自行车充电费将单独计价
科创板上市条件与退市规则详解
八大行星的德语名称:从神话到星空的浪漫之旅
蒸汽机是谁发明的?
层流洁净棚和乱流洁净棚的区别
从零开始:项目路线图绘制的详细操作步骤
事业编专技岗与公务员职业对比:公务员与事业单位差异解析
“小芦竹”有“大作为” !减污降碳撑起生态产品价值实现
初二学生厌学(实用建议,帮助学生走出低谷)
孩子学少儿英语玩的五种游戏,建议收藏!
法律问题解决指南:从思路到方法的全面解析
对比.277 Sig Fury (6.8x51mm)弹药的弹道性能
白居易关于讽喻的诗
如何通过Steam家庭共享功能实现游戏资源最大化利用
揭秘C30混凝土:弹性模量的力量与奥秘