FPGA学习笔记(二)模块建立及变量连接

这篇博客详细介绍了在Verilog中如何构建模块以及如何连接模块之间的输入输出变量。通过一个实例展示了如何声明和使用input、output变量,并在顶层文件中连接两个模块。在io_changer模块中,使用assign语句和always块来实现特定条件下的信号翻转。最后,说明了如何在顶层文件中将接收的信号赋值给外部引脚,以完成信号的传递。
摘要由CSDN通过智能技术生成

    Verilog所写的工程是由一个一个的模块连接起来的,每个文件代表一个模块,模块的名字和文件名要保持一致,一个模块的基本声明方法为:

//FileName:main_module
module main_module(
    CLK, RSTn, IO_In, IO_Out
);
    input CLK;
    input RSTn;
    input IO_In;
    output IO_Out;

endmodule

    对于顶层文件,所有声明的input、output变量都可分配引脚。所谓的input和output是相对于自己来说的,如果要利用此变量读入内容,则声明为input,要利用此变量输出内容,则声明为output。

    为了捕获顶层文件的CLK,RSTn,IO_In,同时处理后输出IO_Out,需要另外建立一个模块(文件),如下:

//File_Name:io_changer
module io_changer(
    myCLK, myRSTn, myIO_In, myIO_Out;
);
    input myCLK;
    input myRSTn;
    input myIO_In;
    output myIO_Out;

endmodule

    要连接这两个模块,也就是顶层main_module连接到io_changer,则需要在顶层文件内做如下声明:

wire Out_Receiver;
io_changer U1(
    .myCLK( CLK ),
    .myRSTn( RSTn ),
    .myIO_In( IO_In ),
    .myIO_Out(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值