FPGA中模块之间如何传输数据

FPGA的编程思想是用软件来描述硬件数字电路,也就是说要用设计硬件数字电路的思维方式来思考软件编程。
在FPGA中,模块之间的数据传输就是数字电路元件之间进行数据传输,数字电路元件通过导线把两引脚连接在一起而进行信号传输。在FPGA中通过例化方式来封装元件,例化语句中的参数就是元件的引脚名称。
如下通过实例来说明:
模块定义如下所示:
module ethernet_test(
input sys_clk,
input key,
input rst_n,
output [3:0] led,
output e_mdc,
inout e_mdio,
output e_reset,
input e_rxc,
input e_rxdv,
input e_rxer,
input [7:0] e_rxd,
input e_txc,
output e_gtxc,
output e_txen,
output e_txer,
output[7:0]
e_txd
);
与ethernet_test对应的电路元件如下图所示:(特别说明:以下显示的引脚名称为与之相连的其他元件的引脚名称。)
在这里插入图片描述

如果需要和ethernet_test电路进行通讯需要把这个元件例化,例化方式如下所示:
ethernet_test ethernet_test_0
(
.sys_clk (pll_clk_50),
.key (key),
.rst_n (rst_n),
.led (led),
.e_mdc (e_mdc),
.e_mdio (e_mdio),
.e_reset (e_reset),
.e_rxc (e_rxc),
.e_rxdv (e_rxdv),
.e_rxer (e_rxer),
.e_rxd (e_rxd),
.e_txc (e_txc),
.e_gtxc (e_gtxc),
.e_txen (e_txen),
.e_txer (e_txer),
.e_txd (e_txd)
);

这样电路之间通过导线互连后就可进行相互通信了。

发布了4 篇原创文章 · 获赞 4 · 访问量 761

猜你喜欢

转载自blog.csdn.net/csdnqiang/article/details/105727101