实验一 FPGA使用Verilog HDL设计选择器

1.实验目的

  1. 掌握使用Vivado软件进行设计、仿真的方法。
  2. 掌握FPGA程序的下载方法。
  3. 掌握使用Verilog HDL设计选择器的方法。

2.实验要求

采用Verilog HDL语言设计程序,实现一个四选一数据选择器,并对其进行仿真。

3.实验过程

  1. 打开Vivado软件,新建一个工程。

  2. 新建设计文件,使用Verilog HDL语言设计程序,实现数据选择器功能。

  3. 具体代码如下:

    module mux_4_1(
    in,
    s,
    out
    );

    input[3:0] in;//四个输入端,位宽为4
    input[1:0] s;//两个控制信号,位宽为2
    output out;
    reg out;

    always @(*)begin
    if(s == 2'b00)
    out=in[0];
    if(s == 2'b01)
    out=in[1];
    if(s == 2'b10)
    out=in[2];
    if(s == 2'b11)
    out=in[3];
    end
    endmodule

仿真代码如下:

bash 复制代码
module mux_4_1_stimulation;

reg[3:0]in;
reg[1:0]s;
wire out;

mux_4_1 u_mux_4_1(
    .in(in),
    .s(s),
    .out(out)
);

always #10 in[0]=~in[0];
always #20 in[1]=~in[1];
always #40 in[2]=~in[2];
always #80 in[3]=~in[3];

initial
    begin 
        s=1'b0;
        in=4'b0;
        #160 $stop;
    end;
always #10 s=s+1;
endmodule

其实仿真代码并不是很重要,只不是为了观察自己的实验结果和自己的预期是否一样而已

引脚绑定:这个根据你自己使用的板子哪个对应哪个绑定就行

总结

本次实验旨在通过Vivado软件设计一个四选一数据选择器,并对其进行仿真,以加深对Verilog HDL语言的理解和实践能力。在完成实验过程中,我学会了如何使用Vivado软件进行设计和仿真,以及如何下载FPGA程序。使用Verilog HDL语言编写了一个四选一数据选择器的功能。在设计过程中,我考虑了数据选择器的输入端口、输出端口以及逻辑功能,确保了设计的正确性和完整性。

我对设计进行了仿真,验证了数据选择器的功能和正确性。通过仿真结果,我确认了设计的准确性,并对其进行了必要的调试和优化。通过本次实验,我不仅掌握了使用Vivado软件进行设计和仿真的方法,也加强了对Verilog HDL语言的掌握和应用能力。

相关推荐
坏孩子的诺亚方舟5 天前
FPGA系统架构设计实践15_高云Arora V系列时钟体系
fpga开发·系统架构
FPGA小徐5 天前
入门 CNN 结构全解析|从流程图理论到 FPGA Verilog 硬件实现(含习题带讲解)
fpga开发
FPGA小徐5 天前
FPGA 数字信号处理:并行 FIR 与串行滤波器设计原理、对比与完整 Verilog 实现
fpga开发
Saniffer_SH6 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
zlinear数据采集卡6 天前
双核架构深度解析:ARM+FPGA如何让数据采集卡实现500Ksps高性能?
arm开发·fpga开发·架构
9527华安6 天前
FPGA实现GTH Transceivers Wizard传输2路视频,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
fpga开发·gth·aurora 8b10b·transceivers
FPGA小徐7 天前
FPGA 数字信号处理(二):并行 FIR 滤波器的 Verilog 全流程设计与实现
fpga开发
国科安芯7 天前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
ALINX技术博客7 天前
【黑金云课堂】FPGA技术教程FPGA基础:I2C 总线通信技术
fpga开发·i2c
Hello-FPGA7 天前
Xilinx KU040 FPGA Camera Link 图像采集
c++·fpga开发