实验一 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语言的掌握和应用能力。

相关推荐
9527华安14 小时前
FPGA纯verilog实现 2.5G UDP协议栈,基于1G/2.5G Ethernet PCS/PMA or SGMII,提供14套工程源码和技术支持
5g·fpga开发·udp·ethernet·verilog·sgmii·2.5g udp
奋斗的牛马21 小时前
硬件基础知识-电容(一)
单片机·嵌入式硬件·学习·fpga开发·信息与通信
li星野1 天前
打工人日报#20251110
fpga开发
0基础学习者1 天前
跨时钟域处理
fpga开发·verilog·数字ic
FPGA_小田老师2 天前
Xilinx FIFO Generate IP核(8):FIFO设计常见问题与解决方案
fpga开发·fifo generate·fifo常见问题·fifo异常定位·fifo丢数·fifo读数重复
范纹杉想快点毕业2 天前
100道关于STM32的问题解答共十万字回答,适用入门嵌入式软件初级工程师,筑牢基础,技术积累,校招面试。
驱动开发·单片机·嵌入式硬件·fpga开发·硬件工程
知识充实人生2 天前
时序收敛方法二:Fanout优化
fpga开发·fanout·高扇出·时序收敛
Js_cold2 天前
(* MARK_DEBUG=“true“ *)
开发语言·fpga开发·debug·verilog·vivado
Js_cold2 天前
(* clock_buffer_type=“NONE“ *)
开发语言·fpga开发·verilog·vivado·buffer·clock
深圳光特通信豆子2 天前
TTL光模块:短距离传输场景的优选方案
fpga开发