一、项目创建
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初识:四选一多路选择器实例练习相关推荐

  1. 四选一多路选择器MUX41a

    四选一多路选择器的代码如下,保存路径不能有中文!! 文件名保存为模块名. (Cyclone III-----EP3C40Q240C8) 编译无错误后: File-New-VMF Edit--Inser ...

  2. Verilog练习笔记(四选一多路选择器)

    制作一个四选一的多路选择器,要求输出定义上为线网类型 状态转换: d0    11 d1    10 d2    01 d3    00 信号示意图: 波形示意图: 输入描述: 输入信号   d1,d ...

  3. 利用Block Design在Vivado实现三位四选一多路选择器

    一.要求:利用Block Design设计一个三位 4 选 1 多路选择器电路 二.实验原理: 真值表: Block Design原理图 三.设计过程 Block Design 将自己编写的与门,非门 ...

  4. FPGA _Verilog HDL_8选一多路选择器设计

    一.题目 熟悉QuartusII软件,并设计一个8选1多路选择器,并完成其仿真波形图(贴图). 二.源代码 //-------------------------------------------- ...

  5. 跟着小梅哥初学FPGA ,vivdao开发平台,二选一多路选择器。

    今天正式开始自己的FPGA自学之路,由于导师项目需要,xilinx ZYNQ 7系列的板子,vivado软件平台进行开发,所以自己也直接学习vivado软件开发的板子,我自己学习所用的开发板是xili ...

  6. FPGA刷题P1:4选1多路选择器、异步复位的串联T触发器、奇偶校验、移位拼接乘法

    牛客网上面有FPGA的刷题平台,打算暑假把上面的题刷了,代码思路给大家分享 目录 4选1多路选择器 异步复位的串联T触发器 奇偶校验 移位拼接乘法 位拆分与运算 4选1多路选择器 这道题用组合逻辑,s ...

  7. VHDL四选一数据选择器和基本触发器的设计

    主要内容: 本设计主要是利用超高速硬件描述语言VHDL对四选一数据选择器和基本触发器电路进行编程实现. 四选一数据选择器应该具备的功能:在选择信号的作用下,从输入通道中选择某一个通道的数据作为输出. ...

  8. 四选一多路开关电路描述

    //四选一多路开关MUX4-1 module MUX4-1 (EN ,IN0 ,IN1 ,IN2 ,IN3 ,SEL ,OUT ); input EN ; //使能端 input [7:0] IN0 ...

  9. Verilog数字系统设计——4 选1 多路选择器

    Verilog数字系统设计--4 选1 多路选择器 题目 试分别使用assign.门级原语和always 语句设计4 选1 多路选择器,并写出测试代码进行测试.要求编制测试模块对实现的逻辑功能进行完整 ...

最新文章

  1. 百度开设「黄埔学院」,革新者来
  2. 分享8个非常实用但是名气不大的软件
  3. android图文介绍NDK安装及简单jni demon的实现
  4. BF,KMP,BM三种字符串匹配算法性能比较
  5. 相机小景深和大景深的区别?
  6. java制作qq自动回复,求webqq自动回复原理好的实现方法。
  7. EJS学习(二)之语法规则上
  8. Web前端开发CSS基础(2)
  9. struts2.1.6教程二、struts.xml配置及例程
  10. ESP32 LVGL8.1 ——Label 标签 (Style 14)
  11. iOS开发-使用dSYM文件符号化Crash日志
  12. 垃圾邮件识别(一):用机器学习做中文邮件内容分类
  13. android模拟器游戏大全,安卓模拟器游戏大全_小鸡模拟器
  14. 800套绝美PPT模板免费下载
  15. stm32 IIC ACK与NACK的理解
  16. 手把手教你在 PPT中插入 LaTex 数学公式
  17. 2013年08月威海之旅
  18. 清华大学出版社书评征集图书列表
  19. 海思 YOLOv5 pytorch 转 onnx 转 Caffe 再转 wk 的转化详解
  20. DSP中的EDMA是什么?

热门文章

  1. 一般杀毒软件检测病毒原理
  2. 成绩排名 python
  3. ftp服务器vsftpd配置文件,最全面的vsftpd配置文件详解
  4. 乐高教育的发展史:揭秘历代乐高教育套件
  5. 交叉编译工具 aarch64-linux-gnu-gcc 安装和ATF编译
  6. android USB如何修改Serial Number or SN
  7. java fileoutputstream close_Java FileOutputStream close()方法与示例
  8. 一.spring中的各个依赖,及分类
  9. java.lang.NoClassDefFoundError与aspectjrt、aspectjweaver的联系
  10. c语言:单片机除法求余算法