0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA的半加器设计

CHANBAEK 来源:小小研究生 作者: xxyjs2020 2023-05-12 14:50 次阅读

数电基础

加法器用于两个数或者多个数的加和,加法器又分为半加器(half adder)和全加器(full adder)。半加器电路是指对两个输入数据位相加,输出一个结果位和进位,没有进位输入的加法器电路。是实现两个一位二进制数的加法运算电路。而全加器除了加数和被加数之和外还要加上上一级传进来的进位信号。如果没有理解,看真值表和逻辑式就理解了。

A B C S A+B={C,S}
0 0 0 0 S=A⊕B
0 1 0 1 C=AB
1 0 0 1
1 1 1 0
A B Ci-1 Ci S A+B+Ci-1={Ci,S}
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

全加器可看作两个半加器和一个或门组成。

设计规划

本例中我们实现最简单的半加器。这个示例中,采用两个按键作为信号输入A和B,两个LED灯作为输出C和S。按下按键为低电平,LED灯为低电平时点亮。需要实现的功能是,按下AB时CS点亮,按下其中一个时只有C点亮,都不按下时只有S点亮。

根据真值表很容易画出波形。

编写代码

module half_adder
(
input wire in1 , 
input wire in2 , 
output wire sum , 
output wire cout
);


 assign {cout, sum} = in1 + in2;
 endmodule

添加.v文件后编译通过。点击RTL viewer可以查看设计的硬件电路结构,和我们设计所表达的意思相同。

编写testbench

`timescale 1ns/1ns
module tb_half_adder();


reg in1;
reg in2;
wire sum;
wire cout;


 initial begin
 in1 <= 1'b0;
 in2 <= 1'b0;
 end


 always #10 in1 <= {$random} % 2;
 always #10 in2 <= {$random} % 2;




 //--------------------half_adder_inst-----------------
 half_adder half_adder_inst
 (
 .in1 (in1 ), //input in1
 .in2 (in2 ), //input in2


 .sum (sum ), //output sum
 .cout (cout ) //output cout
 );


 endmodule

又是超级熟悉的testbench。

对比波形

波形与预想的一致。

分配管脚

按照设计规划:采用S0和S1作为信号输入A和B,LED0和LED1作为输出C和S。按下AB(0+0)时CS(=00)都亮,按下其中一个(0+1)时只有C(01)亮,都不按下(1+1)时只有S(=10)亮。

全编译后上板验证

都不按时LED1亮

任意按一个时,LED0亮。

两个都按下时,LED0和LED1都亮。

在完成这几个实例的过程中,遇到了很多错误,但是只要会上网,把报错信息进行检索,都能圆满解决。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21324

    浏览量

    593215
  • 加法器
    +关注

    关注

    6

    文章

    174

    浏览量

    29732
  • 全加器
    +关注

    关注

    10

    文章

    59

    浏览量

    28108
  • 数电
    +关注

    关注

    14

    文章

    61

    浏览量

    29710
  • 半加器
    +关注

    关注

    1

    文章

    27

    浏览量

    8661
收藏 人收藏

    评论

    相关推荐

    FPGA基础知识:什么是FPGA,为何需要FPGA

    最佳处理解决方案常常是由 RISC、CISC、图形处理器与 FPGA 的组合提供,或由 FPGA 单独提供,或以硬处理器内核作为部分结构的 FPGA 提供。然而,许多设计人员不熟悉 FPGA
    的头像 发表于 01-13 14:04 1.2w次阅读

    FPGA Compiler II FPGA Express

    This manual describes the Verilog portion of Synopsys FPGACompiler II / FPGA Express application
    发表于 07-23 09:59 21次下载

    fpga是什么意思 ASIC是什么意思

    fpga是什么意思 FPGA入门知识,什么是FPGA?   FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GA
    发表于 12-20 13:54 4927次阅读

    什么是FPGA?FPGA是什么意思

    什么是FPGA?FPGA是什么意思,本内容详加描述了FPGA的相关知识包括FPGA配置模式,PPGA特点及应用
    发表于 12-07 13:39 7.9w次阅读

    FPGA,FPGA工作原理是什么?

    FPGA,FPGA工作原理是什么? FPGA(现场可编程门阵列)是专用集成电路(ASIC)中集成度最高的一种,用户可对FPGA内部的逻辑模块和I/O模块
    发表于 03-26 17:07 3771次阅读

    从赛灵思FPGA设计流程看懂FPGA设计

    FPGA仿真篇-使用脚本命令来加速仿真二 基于FPGA的HDMI高清显示借口驱动 基于FPGA灰度图像高斯滤波算法的实现 FPGA为什么比CPU和GPU快 基于Xilinx
    发表于 02-20 20:32 1.6w次阅读
    从赛灵思<b class='flag-5'>FPGA</b>设计流程看懂<b class='flag-5'>FPGA</b>设计

    fpga应用领域_fpga应用三个主要方向

    本文首先介绍了fpga的优势及特点,其次介绍了fpga的应用领域,最后阐述了fpga应用的三个主要方向。
    发表于 04-18 10:15 5.8w次阅读

    数字设计FPGA应用:FPGA的基本实践

    本课程以目前流行的Xilinx 7系列FPGA的开发为主线,全面讲解FPGA的原理及电路设计、Verilog HDL语言及VIVADO的应用,并循序渐进地从组合逻辑、时序逻辑的开发开始,深入到FPGA的基础应用、综合应用和进阶应
    的头像 发表于 12-05 07:05 2918次阅读
    数字设计<b class='flag-5'>FPGA</b>应用:<b class='flag-5'>FPGA</b>的基本实践

    数字设计FPGA应用:FPGA概述

    中国大学MOOC 本课程以目前流行的Xilinx 7系列FPGA的开发为主线,全面讲解FPGA的原理及电路设计、Verilog HDL语言及VIVADO的应用,并循序渐进地从组合逻辑、时序逻辑的开发开始,深入到FPGA的基础应
    的头像 发表于 12-03 07:00 2128次阅读
    数字设计<b class='flag-5'>FPGA</b>应用:<b class='flag-5'>FPGA</b>概述

    fpga论坛推荐_fpga开发难吗

    elecfans论坛的FPGA模块还是比较活跃的,有各种FPGA工具使用问题的一些讨论。
    的头像 发表于 11-10 14:29 4087次阅读

    FPGA参考设计

    FPGA参考设计
    发表于 05-16 15:06 8次下载
    <b class='flag-5'>FPGA</b>参考设计

    FPGA可重构技术——FPGA芯片

    FPGA芯片本身就具有可以反复擦写的特性,允许FPGA开发者编写不同的代码进行重复编程,而FPGA可重构技术正是在这个特性之上,采用分时复用的模式让不同任务功能的Bitstream文件使用FP
    的头像 发表于 04-26 10:38 2915次阅读

    如何学习FPGAFPGA学习必备的基础知识

    FPGA已成为现今的技术热点之一,无论学生还是工程师都希望跨进FPGA的大门。网络上各种开发板、培训班更是多如牛毛,仿佛在告诉你不懂FPGA你就OUT啦。那么我们要玩转FPGA必须具备
    的头像 发表于 10-27 17:43 483次阅读

    FPGA是什么?FPGA的工作原理和应用

    你是否好奇过FPGA技术是如何影响日常使用的设备的?在当今快节奏的技术领域中,FPGA变得越来越重要。FPGA拥有强大的功能和广泛的应用,驱动着现代科技的进步。
    的头像 发表于 11-02 10:06 1391次阅读

    fpga是什么 fpga用什么编程语言

    FPGA(Field-Programmable Gate Array)是一种可编程逻辑技术,它使用可重构的硬件单元(如门阵列和查找表)来实现电路功能。相比传统的专用集成电路(ASIC),FPGA具有
    的头像 发表于 02-04 15:26 480次阅读