3.1 第一个工程——多数表决器

详细流程见: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进行下载,下载后重启或断电,可以看到芯片已经成功配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值