FPGA自学教程 01 二选一多路器

本文介绍了如何使用Vivado软件创建FPGA项目,以实现二选一多路器。首先创建新项目,选择芯片型号XC7A35TFGG484,然后编写Verilog代码实现二选一多路器功能。接着进行仿真操作,添加仿真源,编写测试代码并运行行为仿真,观察波形图验证逻辑正确性。
摘要由CSDN通过智能技术生成

双非硕士 研一下学期视觉转FPGA(在b站跟小梅哥视频)

长路漫漫,但希望前途光明

1.打开Vivado软件,点击Create Project,再点击next

2.给程序命名,由于本文是制作二选一多路器,故可命名为mux2_1

3.点击选择RTL project,并勾选Do not specify sources at this time

5.在进入下一个页面后,找到小梅哥开发板对应芯片型号:XC7A35TFGG484,选择XC7A35TFGG484-2后点击next。

6.点击finish即可完成项目创建。

7.点击Add Sources,选择Add or create design sources,再点击next按钮。

8.选择create files,并为文件命名,再点击finish即可。

9. 在随后弹出的窗口点击OK再点击yes。

10.等待加载后,双击mux2_1,右侧就会弹出编写Verilog代码的界面。

11. 在右侧代码页面输入二选一多路器Verilog代码,代码内容如下

module mux2_1(
    a,
    b,
    sel,
    out
);
    input a;
    input b;
    input sel;
    output out;

    assign out =(sel==1)?a:b;//二选一多路器实现代码
endmodule 

 ctrl+s保存代码后,在键盘上按下F11即可运行程序,点击OK就可以了

12.点击view Reports 查看报告是否报错,一般没有红色的就行了。

13.接下来开始进行仿真:

        (1)再次点击Add Sources,选择Add or create simulation sources

        (2)同样的创建文件,文件名可以设计为 mux2_1_tb,点击OK后再点击finish,再OK下去就可以了。

         (3)在Simulation Sources中找到刚刚创建的文件,双击打开,右侧同样会出现界面可以输入Verilog代码,在进行仿真时,代码内容如下:

`timescale 1ns/1ns

module mux2_1_tb();
    reg s_a;
    reg s_b;
    reg s_sel;
    wire out;
    mux2_1 mux2_1_test(
        .a(s_a),
        .b(s_b),
        .sel(s_sel),
        .out(out)
    );
    initial begin
        s_a=0;s_b=0;s_sel=0;
        #200;
        s_a=0;s_b=0;s_sel=1;
        #200;
        s_a=0;s_b=1;s_sel=0;
        #200;
        s_a=0;s_b=1;s_sel=1;
        #200;
        s_a=1;s_b=0;s_sel=0;
        #200;
        s_a=1;s_b=0;s_sel=1;
        #200;
        s_a=1;s_b=1;s_sel=0;
        #200;
        s_a=1;s_b=1;s_sel=1;
        #200;
        $stop;        
    end
endmodule

        (4)ctrl+s保存后,点击左边栏的Run Simulation,再点击Run Behavioral Simulation。

         (5)在弹出波形图窗口后,跟随下图箭头点击,即可表示出正常波形走势,也表现出二选一多选器的逻辑:

 以上,就为二选一波形图的仿真步骤。

本光盘是《Xilinx FPGA开发实用教程(第2版)》一书的配书光盘,内容包括了书中第2章、第4章、第6章到第10章所有设计案例的完整工程文件。 本书由徐文波 田耘 编著 清华大学出版社出版 2012年7月第二版 压缩包大小23.6兆,解压后大小为99.6兆,占用空间106兆 本光盘根目录下有7个文件夹,文件夹的内容和含义说明如下: 1. chapt2文件夹中的内容为书中第2章完整的工程文件,包括2个子文件夹: (1) exp2_29:例2-29对应的文件; (2) exp2_30:例2-30对应的文件。 2. chapt4文件夹中的内容为书中第4章完整的工程文件,包括4个子文件夹: (1) exp4_1:例4-1对应的文件; (2) exp4_2:例4-2对应的文件; (3) exp4_6:例4-6对应的文件; (4) exp4_7:例4-7对应的文件。 3. chapt6文件夹中的内容为书中第6章完整的工程文件,包括10个子文件夹: (1) exp6_1:例6-1对应的文件; (2) exp6_2:例6-2对应的文件; (3) exp6_6:例6-6对应的文件; (4) exp6_8:例6-8对应的文件; (5) exp6_8_matlab:例6-8对应的matlab文件; (6) exp6_9:例6-9对应的文件; (7) exp6_12:例6-12对应的文件; (8) exp6_13:例6-13对应的文件; (9) exp6_18:例6-18对应的文件; (10) exp6_Uart:UART接口开发实例。 4. chapt7文件夹中的内容为书中第7章完整的工程文件,包括2个子文件夹: (1) exp_sdk_C_code:包括4个子文件夹: led_cpp:LED代码; uart_cpp:串口代码; intc_uart:中断和串口联合的代码; timer_intc:定时和中断联合的代码。 (2) exp7_2:例7-2对应的文件。 5. chapt8文件夹中的内容为书中第8章完整的工程文件,包括6个子文件夹: (1) exp8_1:例8-1对应的文件; (2) exp8_2:例8-2对应的文件; (3) exp8_3:例8-3对应的文件; (4) exp8_4:例8-4对应的文件; (5) exp8_5:例8-5对应的文件; (6) exp8_hwcosim:硬件协仿真的例子。 6. chapt9文件夹中的内容为书中第9章完整的工程文件,包括5个子文件夹: (1) exp9_1:例9-1对应的文件; (2) exp9_2:例9-2对应的文件; (3) exp9_3:例9-3对应的文件; (4) exp9_4:例9-4对应的文件; (5) exp9_5:例9-5对应的文件。 7. chapt10文件夹中的内容为书中第10章完整的工程文件,包括1个子文件夹: (1) exp10_1:例10-1对应的文件; (2) xapp869:Xilinx PCI-E参考文档。 二、运行环境 本光盘的所有程序在以下环境调试通过: (1)Windows XP; (2)Xilinx ISE Design Suite 13.2 for windows; 更详细的信息可以参考本教材中实验部分的相关说明。 三、注意事项 (1)运行这些程序前请详细阅读本教程中相关实验部分说明; (2)部分实验清理了综合与实现所产生的相关文件以节省空间,读者重新运行即可。 (3)在使用光盘的程序时,请将程序拷贝到硬盘上,并去除文件的只读属性; (4)需要说明的是,当在本地电脑上运行例子时,根据例子所运行的目录,对例子中的一些目录路径进行适当的修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值