FPGA初识:四选一多路选择器实例练习
一、项目创建
1、creat project2、确认项目名和项目位置,“√”确认生成子目录
3、生成RTL项目文件,且“√”不添加特殊源文件
4、根据上面的筛选项或直接输入型号,找到对应FPGA开发板
5、确认信息
二、编辑源文件
1、设计源文件
添加源文件(add sources →design sources)
确认源文件名
添加源文件代码
module mux4_1_des(
input wire [1:0]sel,
input wire s1,
input wire s2,
input wire s3,
input wire s4,
output wire led);assign led=(!sel[0]&!sel[1]&s1)|(sel[0]&!sel[1]&s2)|(!sel[0]&sel[1]&s3)|(sel[0]&sel[1]&s4);
endmodule
2、添加顶层文件(通过顶层文件调用源文件,养成良好编程习惯)
add sources →design sources→creat source file
添加顶层文件代码
module mux4_1_topdes(
input wire [5:0]sw,
output wire led);mux4_1_des m(.sel(sw[5:4]),.s1(sw[0]),.s2(sw[1]),.s3(sw[2]),.s4(sw[3]),.led(led));
endmodule
三、行为仿真(提供仿真输入信号)
1、创建仿真文件(add sources→simulation sources)
2、添加仿真文件代码
module mux4_1_sim();reg s1,s2,s3,s4;reg [1:0]sel;wire led;mux4_1_des test(.sel(sel),.s1(s1),.s2(s2),.s3(s3),.s4(s4),.led(led));initial begin#0s1=0;s2=1;s3=1;s4=1;sel=2'b00;//1#100s1=1;s2=0;s3=1;s4=1;sel=2'b01;//2#100s1=1;s2=1;s3=0;s4=1;sel=2'b10;//3#100s1=1;s2=1;s3=1;s4=0;sel=2'b11;//4#100s1=1;s2=0;s3=0;s4=0;sel=2'b00;//5#100s1=0;s2=1;s3=0;s4=0;sel=2'b01; //6#100s1=0;s2=0;s3=1;s4=0;sel=2'b10; //7#100s1=0;s2=0;s3=0;s4=1;sel=2'b11;//8#100$finish;end
endmodule
3、把仿真源文件设为top模块
4、运行行为仿真(synthsis→open synthsis→run behavioral simulation),检查仿真结果是否正确
注意可能会出现如下错误,请修改仿真文件里的变量类型(reg wire)
四、RTL分析
在rtl分析中打开原理图(RTL ANALYSIS→open elaborated design),查看设计是否满足要求
五、综合,编写约束文件
1、综合(run synthsis→open synthsizd design→schematic),
查看原理图,这个原理图跟rtl的原理图不同,这个是与器件相关的,而rtl原理图只是将硬件编程语言用电路图描述出来。
(如果看原理图只能看到device,在左侧菜单栏里寻找schematic点击即可)
2、约束
创建约束文件(add sources→constraints)
编辑io引脚(layout→I/O planning) ,进行电平约束和引脚约束
然后crtl+s保存至刚刚创立的约束文件
set_property IOSTANDARD LVCMOS33 [get_ports {sw[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports led]set_property PACKAGE_PIN F22 [get_ports {sw[5]}]
set_property PACKAGE_PIN G22 [get_ports {sw[4]}]
set_property PACKAGE_PIN H22 [get_ports {sw[3]}]
set_property PACKAGE_PIN F21 [get_ports {sw[2]}]
set_property PACKAGE_PIN H19 [get_ports {sw[1]}]
set_property PACKAGE_PIN H18 [get_ports {sw[0]}]
set_property PACKAGE_PIN U10 [get_ports led]
六、实现及时序仿真
1、实现(run implementation)
2、时序仿真(run simulation→run post-implemention timing simulation),时序仿真可以观查延迟,毛刺等,与之前的行为仿真不同。
七、下载比特流文件
1、生成比特流文件(generate bitstream)
2、打开硬件管理(Open hardware manager)→打开目标(open target)→自动连接(auto connect)→program device(下载到FPGA核心板上)
3、实物测试
(板子目前还没到,暂时没有做测试)
FPGA初识:四选一多路选择器实例练习相关推荐
- 四选一多路选择器MUX41a
四选一多路选择器的代码如下,保存路径不能有中文!! 文件名保存为模块名. (Cyclone III-----EP3C40Q240C8) 编译无错误后: File-New-VMF Edit--Inser ...
- Verilog练习笔记(四选一多路选择器)
制作一个四选一的多路选择器,要求输出定义上为线网类型 状态转换: d0 11 d1 10 d2 01 d3 00 信号示意图: 波形示意图: 输入描述: 输入信号 d1,d ...
- 利用Block Design在Vivado实现三位四选一多路选择器
一.要求:利用Block Design设计一个三位 4 选 1 多路选择器电路 二.实验原理: 真值表: Block Design原理图 三.设计过程 Block Design 将自己编写的与门,非门 ...
- FPGA _Verilog HDL_8选一多路选择器设计
一.题目 熟悉QuartusII软件,并设计一个8选1多路选择器,并完成其仿真波形图(贴图). 二.源代码 //-------------------------------------------- ...
- 跟着小梅哥初学FPGA ,vivdao开发平台,二选一多路选择器。
今天正式开始自己的FPGA自学之路,由于导师项目需要,xilinx ZYNQ 7系列的板子,vivado软件平台进行开发,所以自己也直接学习vivado软件开发的板子,我自己学习所用的开发板是xili ...
- FPGA刷题P1:4选1多路选择器、异步复位的串联T触发器、奇偶校验、移位拼接乘法
牛客网上面有FPGA的刷题平台,打算暑假把上面的题刷了,代码思路给大家分享 目录 4选1多路选择器 异步复位的串联T触发器 奇偶校验 移位拼接乘法 位拆分与运算 4选1多路选择器 这道题用组合逻辑,s ...
- VHDL四选一数据选择器和基本触发器的设计
主要内容: 本设计主要是利用超高速硬件描述语言VHDL对四选一数据选择器和基本触发器电路进行编程实现. 四选一数据选择器应该具备的功能:在选择信号的作用下,从输入通道中选择某一个通道的数据作为输出. ...
- 四选一多路开关电路描述
//四选一多路开关MUX4-1 module MUX4-1 (EN ,IN0 ,IN1 ,IN2 ,IN3 ,SEL ,OUT ); input EN ; //使能端 input [7:0] IN0 ...
- Verilog数字系统设计——4 选1 多路选择器
Verilog数字系统设计--4 选1 多路选择器 题目 试分别使用assign.门级原语和always 语句设计4 选1 多路选择器,并写出测试代码进行测试.要求编制测试模块对实现的逻辑功能进行完整 ...
最新文章
- 百度开设「黄埔学院」,革新者来
- 分享8个非常实用但是名气不大的软件
- android图文介绍NDK安装及简单jni demon的实现
- BF,KMP,BM三种字符串匹配算法性能比较
- 相机小景深和大景深的区别?
- java制作qq自动回复,求webqq自动回复原理好的实现方法。
- EJS学习(二)之语法规则上
- Web前端开发CSS基础(2)
- struts2.1.6教程二、struts.xml配置及例程
- ESP32 LVGL8.1 ——Label 标签 (Style 14)
- iOS开发-使用dSYM文件符号化Crash日志
- 垃圾邮件识别(一):用机器学习做中文邮件内容分类
- android模拟器游戏大全,安卓模拟器游戏大全_小鸡模拟器
- 800套绝美PPT模板免费下载
- stm32 IIC ACK与NACK的理解
- 手把手教你在 PPT中插入 LaTex 数学公式
- 2013年08月威海之旅
- 清华大学出版社书评征集图书列表
- 海思 YOLOv5 pytorch 转 onnx 转 Caffe 再转 wk 的转化详解
- DSP中的EDMA是什么?
热门文章
- 一般杀毒软件检测病毒原理
- 成绩排名 python
- ftp服务器vsftpd配置文件,最全面的vsftpd配置文件详解
- 乐高教育的发展史:揭秘历代乐高教育套件
- 交叉编译工具 aarch64-linux-gnu-gcc 安装和ATF编译
- android USB如何修改Serial Number or SN
- java fileoutputstream close_Java FileOutputStream close()方法与示例
- 一.spring中的各个依赖,及分类
- java.lang.NoClassDefFoundError与aspectjrt、aspectjweaver的联系
- c语言:单片机除法求余算法