多数表决器

  • 1 多数表决器的分析和逻辑实现
  • 2 多数表决器的工程创建
  • 3 多数表决器的Verilog HDL源文件创建
  • 4 多数表决器的Verilog HDL代码实现及RTL分析
  • 5 仿真
  • 6 约束
  • 7 综合
  • 8 实现
  • 9 比特流文件生成
  • 10 下载和测试
  • 11 下载到FLASH

详细流程见:Vivado FPGA基础设计操作流程
该文档的MOOC的视频教程

1 多数表决器的分析和逻辑实现

有什么样的输入,就有什么样的输出,数字电路的输出只依赖于当前输入值的组合,这样的电路称为组合逻辑电路。
例如f=ab+ac
第一个工程使用FPGA实现一个简单的组合逻辑电路。

题目:假设有三个举重裁判,举重选手完成比赛后,当有多数裁判认定成功,则成功;否则失败。请设计此举重裁决电路。这个举重裁决电路实际上就是一个三输入的多数表决器

假设多数表决器的三个输入分别是a、b、 c,输出是f。

根据问题的描述,填写真值表得到最小项表达式f = ∑abc(3,5,6,7)。
填写卡诺图进行化简得f=ab+bc+ac

2 多数表决器的工程创建

打开VIVADO并新建工程

工程类型设置

工程器件选择


创建后的工程,此时,保存工程的文件夹是空的


工程设置,设置后,文件下载到flash,每次上电,信息就会从flash到FPGA,信息就会保存

3 多数表决器的Verilog HDL源文件创建

添加文件点击“Next”
点击创建文件最后点击“filsh”

定义模块,(也可以直接在文档中写)定义完后,点击“ok”

4 多数表决器的Verilog HDL代码实现及RTL分析

编辑源文件

编辑源代码

module v_dsbjq(input a,input b,input c,output f);assign f=a&b|a&c|b&c; //f=ab+ac+bc
endmodule

RTL分析

5 仿真




仿真代码

`timescale 1ns / 1ps
module sim_asbjq(   );
//module sim_asbjq;//也可以不需要括号
reg a,b,c;
wire f;v_dsbjq uut(
a,
b,
c,
f
); initial begin
a=0;b=0;c=0;
end
always #10 {a,b,c}={a,b,c}+1;
endmodule

或者也可以添加端口,实例名可以改变,例化的顺序可以变

`timescale 1ns / 1ps
module sim_asbjq;//也可以不需要括号
reg i_a,i_b,i_c;
wire f;v_dsbjq ut(
.a(i_a),
.b(i_b),
.c(i_c),
.f
); initial begin
i_a=0;i_b=0;i_c=0;
end
always #10 {i_a,i_b,i_c}={i_a,i_b,i_c}+1;
endmodule


仿真,选择行为仿真

6 约束

实现之前一定要有约束文件,综合可以不需要


约束文件代码

## Switches
set_property PACKAGE_PIN F3 [get_ports a]
set_property IOSTANDARD LVCMOS33 [get_ports a]
set_property PACKAGE_PIN H4 [get_ports b]
set_property IOSTANDARD LVCMOS33 [get_ports b]
set_property PACKAGE_PIN N4 [get_ports c]
set_property IOSTANDARD LVCMOS33 [get_ports c]
##led
set_property PACKAGE_PIN E3 [get_ports f]
set_property IOSTANDARD LVCMOS33 [get_ports f]

7 综合

综合方法二选一

8 实现

可以在综合之后,实现,也可以在左边窗口打开

F3和H4均为约束文件中的引脚

此时的电路图

9 比特流文件生成

在综合和实现完成之后,就可以生成比特流文件了,比特流文件有两种类型,bit文件用于调试,bin文件用于最终下载到实验板的flsah芯片,每次上电后对会根据flsah中的内容对FPGA进行配置。
下方会显示内容


生成的比特文件在工程下的\pro_dsbjq\pro_dsbjq.runs\impl_1

10 下载和测试

连接开发板,使用硬件管理器连接硬件 auto connect

使用硬件管理器 Program Device,选择需要的v_dsbjq.bit下载

运行效果

11 下载到FLASH

在下载运行后,关闭电路板电源,再打开电源,无论怎么设置拨码开关位置LED都不会亮。
这时因为下载采用的是JTAG调试模式,只能进行验证,并没有将代码下载到FLASH。
要下载到FLASH,首先需要加载存储设备。点击流程导航窗口编程和调试(Program and Debug) 项下的增加配置内存设备(Add Configuration Memory Device)。

1.进入配置存储设备窗口
2.选择配置文件,注意可以下载到FLASH的是BIN文件
3.之后按OK进行下载,下载后重启或断电,可以看到芯片已经成功配置。

3.1 第一个工程——多数表决器相关推荐

  1. Annotation 的第一个工程

    一.什么是 Annotation? java.lang.annotation,接口 Annotation.对于Annotation,是Java5的新特性,JDK5引入了Metadata(元数据)很容易 ...

  2. 上海交通大学软件学院2005学年度第一学期工程硕士课程安排表

    上海交通大学软件学院 2005学年度第一学期工程硕士课程安排表 课程名称 教师 课时 教材 教室 日期安排 备注 基础英语 周六上午    工程馆311 8:00-11:00 自然辩证法 周六下午   ...

  3. hibernate 的第一个工程

    一.什么是Hibernate? Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hiber ...

  4. STM32入门指南(1)—新建第一个工程

    STM32入门指南(1)-新建第一个工程 文章目录 STM32入门指南(1)-新建第一个工程 STM32CubeMX配置 选择芯片 配置 IO 和其他功能 配置时钟 配置工程属性 生成代码 MDK编辑 ...

  5. AndroidStudio的下载、安装、第一个工程运行

     写在前边 现在的时间:2018-10-2 AndroidStudio版本:3.2 操作系统:Windows10专业版 AndroidStudio的下载 下载地址:https://developer. ...

  6. 工程经济学第一章工程经济学概述笔记

    工程经济学第一章工程经济学概述 1.1.1 工程与经济的概念 1. 工程的概念 工程不同于科学,也不同于技术. 科学本质上属于认识世界的范畴.科学是人类探索自然和社会现象并取得认识的过程和结果.这 里 ...

  7. 《Zedboard》第一个工程helloworld

    文章目录 打开VIVADO后 点击创建工程(Create Project) 在进入工程创建引导窗口后,按照官方教程中第一个工程进行如下配置. 需要注意的地方都已经用红色框框圈住. 其中 Project ...

  8. python27怎么新建项目_Ren'Py引擎从入门到放弃(2) —— 成功创建第一个工程

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 BuErShen 于 2019-6-28 18:49 编辑 Ren'Py引 ...

  9. Android的第一个工程,Android Things:撸起袖子来创建第一个Things工程

    在前面的章节,我们利用官方的sample-simplepio项目的blink模块,给大家演示了如何导入和运行现成的Android Things工程.那么这个章节,我们来手把手的给大家演示,如何从零开始 ...

最新文章

  1. 谷歌把安全融入主机芯片
  2. 提高ASP.NET应用程序性能的几招方法
  3. war和war exploded区别
  4. MVVM实践中的Command与CommandParameter的使用
  5. easyui中获取getEditor为空情况
  6. nginx 并发过十万
  7. linux mint 19界面美化,安装完 LinuxMint 19.3 后必做的10件事
  8. 2008秋-计算机软件基础-第三章- 二叉排序树
  9. 京东宙斯php版本sdk不能用_多主机平台玩家的福音,北通宙斯T6精英版体验测评...
  10. codeforces 816 E. Karen and Supermarket(树形dp)
  11. layui横向时间线_操盘线:线上阴线满仓,线下阳线清仓
  12. oracle sysman 不存在_Oracle数据库中SYS、SYSTEM、DBSNMP、SYSMAN四用户的区别
  13. 美国人如何看待超自然?
  14. window10无法访问局域网共享文件夹
  15. 人脸识别有趣应用3——抠出人脸并给人脸涂上戏剧脸谱
  16. linux qq x64,QQ Linux 版时隔多年再次更新,支持 x64、ARM64 等多种架构
  17. win7计算机文件浏览不了,win7系统计算机文件打不开的解决方法
  18. 风向值与风向描述定义
  19. 2345浏览器兼容性设置在哪里
  20. STM32无线通信——nRF24L01通信模块

热门文章

  1. 优化亚马逊listing给你产品带来什么优势?
  2. 使用美图秀秀更换照片背景色
  3. 计算机田亩公式,怎样计算土地亩数?
  4. 将北斗卫星授时(GPS时钟系统)技术应用数据采集系统
  5. 仙人球模型matlab,数字人C4D建模课堂之十六:仙人球建模
  6. 编码标准-ASCII
  7. 软件项目管理第四次作业
  8. HDU 3353 二分图的匹配,最大独立集==最小覆盖点
  9. leetcode系列-350.两个数组的交集II
  10. mysql初始没有密码怎么设置