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),
.

FPGA编程涉及用软件描述硬件电路,模块间的通信类似于数字元件通过导线连接。例如,模块`ethernet_test`包含多个输入和输出,通过例化将其与其他组件连接,实现数据传输。通过指定引脚名称的例化语句,如`ethernet_test_0`,实现了各个信号的互连,从而实现通信。
最低0.47元/天 解锁文章
1174

被折叠的 条评论
为什么被折叠?



