标签:FPGA clk Number sys 例化 模块 input Data
最近在学FPGA的时候,总搞不清楚例化两个字是什么意思?什么是模块例化?各个模块例化之后怎么连接的弄得我晕头转向,今天用一个流水灯的程序探究了一下。
首先我们看最底层的三个模块程序:
module smg_scan_module //数码管选通模块
(
input sys_clk, //输入时钟和复位信号
input rst_n,
output [5:0]Scan_Sig //输出数码管选通信号 为6位数据信号
);
module smg_encode_module //数码管编码模块
(
input sys_clk,
input rst_n,
input [3:0]Number_Data, //输入Number_Data 是一个0-9的数值 为4位数据信号
output [7:0]SMG_Data //输出SMG_Data即8位数码管的操作信号 为8位数据信号
);
module smg_control_module //数码管控制模块
(
input sys_clk,
input rst_n,
input [23:0]Number_Sig, //输入 Number_Sig 为24位数据信号
output [3:0]Number_Data //输出 Number_Data 为4位数据信号
);
这是最底层的,再看上面一层对这三个模块的例化程序
module smg_interface
(
input sys_clk,
input rst_n,
input [23:0] Number_Sig,
output [7:0] SMG_Data,
output [5:0] Scan_Sig
);
smg_control_module U1
(
.sys_clk (sys_clk ),
.rst_n ( rst_n ),
.Number_Sig ( Number_Sig ), // input - from top
.Number_Data ( Number_Data ) // output - to U2
);
smg_encode_module U2
(
.sys_clk (sys_clk ),
.rst_n (rst_n ),
.Number_Data ( Number_Data ), // input - from U2
.SMG_Data ( SMG_Data ) // output - to top
);
smg_scan_module U3
(
.sys_clk (sys_clk ),
.rst_n ( rst_n ),
.Scan_Sig ( Scan_Sig ) // output - to top
);
如上面程序所示,例化数码管扫描程序为U3,例化数码管编码模块为U2,例化数码管控制模块为U1,
.sys_clk (sys_clk)这句话的意思就是,将这个模块的输入 sys_clk 命名为 sys_clk,
总的意思就是通过对各个小模块的输入输出的例化命名,使这三个模块相连,构成这一层的模块。
标签:FPGA,clk,Number,sys,例化,模块,input,Data
来源: https://blog.csdn.net/sy243772901/article/details/84892644
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。