学习笔记之三人表决器FPGA

新手入门,多多包涵,不足错误之处,望指出

三人表决器,顾名思义就是三人投票,只要达到两票以上,就取胜。
设a,b,c为三个投票的人,输出的为f,投为1,不投为0,两票以上为1,否则为0;其逻辑情况如下表列出:

a b c f
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1

我们将这种逻辑关系用verilog语言来表示,过程快用always语句,当然也可以用assign语句来表示,只需求出它的逻辑关系式。

Verilog设计代码如下

module bjq3(a,b,c,f);input a,b,c;output f;reg f;always@(*)
begincase({a,b,c})3'b000 : f = 1'b0;3'b001 : f = 1'b0;3'b010 : f = 1'b0;3'b011 : f = 1'b1;3'b100 : f = 1'b0;3'b101 : f = 1'b1;3'b110 : f = 1'b1;3'b111 : f = 1'b1;default : f = 1'b0;endcase
end
endmodule

RTL级生成电路:

如图所示,直接生成了一个ROM,输入口为a,b,c;输出口为f。
接下来我们需要写一个测试文件,我的测试文件如下:

`timescale 1ns / 1ps
module sim_bjq3();reg a;reg b;reg c;wire f;bjq3 il(.a(a),.b(b),.c(c),.f(f)
);
initial
begina = 0;b = 0;c = 0;foreverbegin#({$random}%100)a = ~a;#({$random}%100)b = ~b;#({$random}%100)c = ~c;end
end
endmodule

测试文件我用了随机函数,当然自己设值也是可以的。

仿真图如下:

从仿真图我们可以看出,它与我们想要实现的功能一致。

学习笔记之三人表决器FPGA相关推荐

  1. linux系统管理学习笔记之三----软件的安装

    linux系统管理学习笔记之三----软件的安装 2009-12-29 19:10:02 标签:linux 系统管理 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 ...

  2. 2010年SQLite学习笔记之三

    2010年SQLite学习笔记之三 一.如何备份数据库 先打开数据库test.db E:/sqlite/tool/sqlite-3_6_22>sqlite3  D:/Test/debug/tes ...

  3. 学习笔记:FPGA之三人表决器

    三人表决器的逻辑功能框架图 verilog代码: module A4_Vote4 {//输入端口KEY1,KEY2,KEY3,//输出端口LED1,LED2,LED3,SEG_DATA,SEG_EN ...

  4. 三人表决器_数电小实验之三人表决器

    数电小实验 20级会员们的模电实验已经结束了,他们的培训计划已经从模电实验进行到了数电实验.他们将学习到一个新的知识--逻辑电路. 接下来让我们一起深入了解本次任务吧! 实验:三人表决器的设计和搭建 ...

  5. 《FPGA设计实战演练》学习笔记(一)FPGA板级基础五要素电路介绍及注意事项(最小系统)

    目录 基础五要素(类似最小系统板) 电源电路 核心电压 I/O电压 辅助电压 常见的供电方案 GND的注意事项 时钟电路 复位电路 配置电路 外设电路 学习书籍:FPGA设计实战演练 逻辑篇吴厚航 编 ...

  6. 富爸爸系列 -- 《财务自由》学习笔记之三

    112,经验的价值 推荐方式,人们在进入I象限之前先在B象限工作的另一个原因.无论投资房地产.企业.股票还是债券,都需要一种潜在的"综合性"商业意识,这种意识对于成为一名成功的投资 ...

  7. 处理器指令编码可重定义的方法_RISC-V学习笔记1 《基于FPGA与RISC-V的嵌入式系统设计》第3章 RISC-V指令集...

    今天读了顾长怡的<基于FPGA与RISC-V的嵌入式系统设计>第3章 RISC-V指令集,做了一些简单的笔记. 1.这本书既然要基于RISC-V讲嵌入式系统设计,就必须要介绍RISC-V的 ...

  8. 快速软件开发 学习笔记 之三

    第4章 风险管理 软件经理必须悉心学习风险管理,才能在项目中避免项目失控.正如Tom Gilb所说:"如果你不主动击败风险,它们就会主动击败你."一个成功的软件项目,应该着眼于事前 ...

  9. TensorFlow学习笔记之三(神经网络的优化)

    文章目录 1. 使用激活函数去线性化(为什么要用激活函数) 实验证明线性模型的局限性 常用激活函数 2. 神经网络复杂度:用网络层数和网络参数的个数表示 3. 损失函数(loss):预测值(y)与已知 ...

最新文章

  1. 研究生第一篇科研论文常犯问题总结
  2. Mysql函数:Last_insert_id()语法讲解
  3. DL之DCGNN:基于TF利用DCGAN实现在MNIST数据集上训练生成新样本
  4. 计算机在我国开始被应用于,计算机应用推动自动化与信息化的发展
  5. python表白小程序(1)源码下载
  6. 基于51单片机LCD1602电子时钟实物制作
  7. iOS开发实用技术之推送-应用间跳转-社交分享
  8. pytorch保存.pth文件
  9. Passware Kit Enterprise破解版下载及使用方法
  10. Excel对比条形图
  11. 浏览器打开苏宁易购证书错误
  12. 陕西守护星-智慧井口综合安检
  13. 基于php的外卖订餐系统开题报告_校园网上订餐系统的设计与实现(PHP,MySQL)
  14. Word Embedding 知识总结
  15. Learning Enriched Features for Real Image Restoration and Enhancement Paddle模型复现93号(1)
  16. 【Linux】su 和 sudo 命令
  17. 网传美团今年应届生年薪 35w+,严重倒挂老员工,为什么互联网大厂校招的薪资一年比一年高?...
  18. 云南富宁港的建设之路
  19. android 中获取所有有效网卡和对应的IP地址
  20. 华为智慧屏鸿蒙系统缺点,华为智慧屏用户评论及华为智慧屏电视真实体验优缺点情况...

热门文章

  1. BS架构调用TSC TTP-244 Pro条码打印机的常见问题及解决方案
  2. Springboot项目中报错Invalid bound statement(not found):com.******报错处理
  3. Java RMI反序列化/JEP290相关
  4. 二叉树的遍历算法(一 递归算法)
  5. Oracle的Ojdbc安装教程
  6. NOIP2017普及组:棋盘
  7. log4j 2.x读取配置文件以及使用
  8. u盘自动运行病毒分析与解决方法
  9. Proteus ISIS入门
  10. 图谱实战 | 为什么我们需要医学知识图谱?