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

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

3天内不再提示

通过小脚丫FPGA搭建实验电路并验证一个二进制比较器

电子森林 来源:FPGA入门到精通 作者:FPGA入门到精通 2021-01-06 17:19 次阅读

前一篇文章我们介绍了通过小脚丫FPGA核心开发板来进行门电路的实验过程。当然,我们还可以画出更多复杂的门电路组合,并且通过小脚丫FPGA轻松实现对应的输入/输出特性的定义。现在,我们利用小脚丫来学习更多具有特定功能的实用组合逻辑电路。

本篇中,我们希望设计一个二进制比较器,通过小脚丫FPGA搭建实验电路并验证结果。

顾名思义,二进制比较器就是比较两个二进制数的大小,因此对于一个两位输入的比较器来说,其输出结果不外乎有小于,大于和等于三种可能。因此我们列出这个电路的真值表。

表1二进制比较器真值表

A

B

Y2(A

Y1(A>B)

Y0(A=B)

0

0

0

0

1

0

1

1

0

0

1

0

0

1

0

1

1

0

0

1

相信学习过数字电路课程的同学都知道如何将该电路进行逻辑运算,化简并画出对应的门电路组合,因此该步骤我们不在此过多赘述,直接上图。

fa4b1de6-4628-11eb-8b86-12bb97331649.png

图1电路图

fa808706-4628-11eb-8b86-12bb97331649.png

图2 门电路组合

通过Verilog代码,我们对该电路进行硬件描述。这次我们采用Data-flow的写法,代码中出现的!&^等符号,实际上就是等于同直接对数据进行逻辑运算,并分别对应NOT, AND, OR。希望大家之后对这些符号的熟悉程度就如同看¥$€等符号一样亲切。
modulecomparer1(inputwireA,//定义输入的两个数a、binputwireB,outputwireY2,//定义三种输出结果对应的ledoutputwireY0,outputwireY1);assignY2=(!A)&B;//对应AassignY1=A&(!B);//对应A>BassignY0=!(A^B);//对应A=B  endmodule

在完成代码编译后,我们将输入变量A和B以及输出变量Y2,Y1,Y0分别对应至小脚丫的板载外设上。

表2 各变量对应小脚丫相应引脚

变量

小脚丫

A

SW1

B

SW2

Y2

L1

Y1

L2

Y0

L3

这样,我们就在小脚丫上构建了一个二进制比较器,我们可以通过调节输入编码开关,并观察LED灯的现象来验证我们的设计。

文章的最后我们提两个问题:1. 如果我们将开关SW1, SW2拨至如下图所示,L1,L2,L3所对应的状态应该是怎样的?注意:小脚丫板载的LED是低电平点亮,也就是说,当输出为1时,LED熄灭,反之则亮。

图3

2. 假如现在小脚丫上L2、L3处于点亮状态,那么拨码开关SW1和SW2现在应该是什么状态?(图中将拨码开关放置中间未知仅为示意作用,实际不存在中间状态)。

图4

是不是入手很简单,随后能够很方便地做扩展和结果验证?今天的内容到此结束,下一篇我们会介绍如何通过小脚丫实现更多实用且有趣的组合逻辑电路实验,敬请期待。

责任编辑:xj

原文标题:基于FPGA的数字电路实验2:比较器的实现

文章出处:【微信公众号:FPGA入门到精通】欢迎添加关注!文章转载请注明出处。


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

    关注

    1602

    文章

    21308

    浏览量

    593119
  • 比较器
    +关注

    关注

    14

    文章

    1525

    浏览量

    106480
  • 数字电路
    +关注

    关注

    192

    文章

    1396

    浏览量

    79747

原文标题:基于FPGA的数字电路实验2:比较器的实现

文章出处:【微信号:xiaojiaoyafpga,微信公众号:电子森林】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【基于Lattice MXO2的小脚丫FPGA核心板】03数码管显示控制

    ] seg_led_1;//在小脚丫上控制数码管需要9信号 MSB~LSB=DIG、DP、G、F、E、D、C、B、A output [8:0] seg_led_2;//在
    发表于 02-29 09:01

    【基于Lattice MXO2的小脚丫FPGA核心板】工程创建和固件烧录

    基于Lattice MXO2 LPC的小脚丫FPGA核心板 - Type C接口 开发板的硬件规格如下: 核心器件:Lattice LCMXO2-4000HC-4MG132 132脚BGA封装
    发表于 01-31 21:01

    labview二进制字符串转数值

    LabVIEW是一种图形化编程环境,用于实时数据采集、信号处理以及自动化控制等领域。它采取了数据流编程的思想,用户可以通过将各种功能模块进行连接,轻松搭建起复杂的系统。 在LabVIEW中,二进制
    的头像 发表于 01-05 16:20 832次阅读

    二进制最佳接收原理 二进制最佳接收机的实现形式有哪两种?

    二进制最佳接收原理 二进制最佳接收机的实现形式有哪两种? 二进制最佳接收原理是计算机通信中的重要概念,它是指在二进制通信中通过一定的方法,使
    的头像 发表于 11-27 16:19 566次阅读

    请问bcd码和二进制有什么关系?

    这个bcd码和二进制有什么关系? bcd 表示0011001是19(十进制) 二进制表示0011001是25(十进制) 这个怎么确定是哪个???
    发表于 10-07 06:02

    M451如何丢弃函数的二进制代码填入SRAM的二进制代码

    示例代码有两步骤可以证明 丢弃函数的二进制代码 。 填充 SRAM 的二进制代码, 然后调用它 。 您可以在下列时间下载样本代码http://www.nuvoton.com/resources-downlo.1229140
    发表于 08-30 07:35

    如何读取二进制文件,IAR怎么输出二进制BIN文件

    IAR怎么输出二进制BIN文件?
    发表于 08-28 17:19

    如何丢弃函数的二进制代码填入SRAM的二进制代码?

    示例代码有两步骤可以证明 丢弃函数的二进制代码 。 填充 SRAM 的二进制代码, 然后调用它 。 您可以在下列时间下载样本代码http://www.nuvoton.com/resources-downlo.1229140
    发表于 08-23 06:34

    二进制数开源分享

    电子发烧友网站提供《二进制数开源分享.zip》资料免费下载
    发表于 06-26 11:40 0次下载
    <b class='flag-5'>二进制</b>数开源分享

    基于FPGA开发板流水灯的设计实现

    流水灯,有时候也叫跑马灯,是一个简单、有趣又经典的实验,基本所有单片机的玩家们在初期学习的阶段都做过。本次我们也来介绍一下如何通过小脚丫FPGA实现一个流水灯。
    发表于 06-20 17:10 915次阅读
    基于<b class='flag-5'>FPGA</b>开发板流水灯的设计实现

    基于FPGA采用模块化思路设计一个译码器

    本次实验的任务是构建一个3-8译码器,且将译码结果通过小脚丫的LED灯显示。
    发表于 06-20 16:10 761次阅读
    基于<b class='flag-5'>FPGA</b>采用模块化思路设计一个译码器

    怎么通过捣鼓FPGA板把数码管给点亮并显示有效信息?

    今天我们任务是通过小脚丫板载的两个数码管来显示字符,所以首先我们要了解一下数码管的基本工作原理,接下来再研究怎么通过捣鼓小脚丫把数码管给点亮,并且显示出有效信息。
    发表于 06-20 16:01 720次阅读
    怎么<b class='flag-5'>通过</b>捣鼓<b class='flag-5'>FPGA</b>板把数码管给点亮并显示有效信息?

    怎么去设计一个基于FPGA二进制比较器呢?

    前一篇文章我们介绍了通过小脚丫FPGA核心开发板来进行门电路实验过程。当然,我们还可以画出更多复杂的门电路组合,并且
    发表于 06-20 15:48 1281次阅读
    怎么去设计一个基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>二进制</b><b class='flag-5'>比较</b>器呢?

    如何进行DDR校准寻找LPDDR4校准二进制文件?

    启动,但是,我们想要进行 DDR 校准寻找 LPDDR4 校准二进制文件,这些二进制文件会生成/考虑来自外部振荡的 CLK 源。 如果您能在DDR 校准工具的源代码中添加上述小改
    发表于 04-27 08:11

    如何实现进制二进制的转换?

    让我们继续收集方便的子程序实现进制二进制的转换: 代码:全选 [decbin] i = 1 r = 0 binval = 0 nr
    发表于 04-26 07:55