模組例化是怎麼進行的? FPGA學習筆記(四)

2021-09-02 20:18:45 字數 2178 閱讀 4371

最近在學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_inte***ce

( 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設計 VHDL語言篇 1 模組例化

關於模組例化有兩種方式,一種是通過宣告,在進行例化,另一種是直接進行例化操作,第一種可以通過configuration進行配置,便於統一管理配置,第二種呼叫方便,但不能通過configuration進行配置,不利於日後配置結構體。宣告 component port port1 port2 end c...

什麼是模組化?模組化怎麼實現?

前言 增加印象,留下腳印 忘記還可以翻一翻 奧利給。1,什麼是模組化 公司裡乙個專案是有很多程式設計師一起開發的,例如 多人運動 這個專案 有程式設計師a 程式設計師b 程式設計師c 程式設計師a 寫了 aaa.js 裡面有幾千行 幾萬行 程式設計師b 寫了 bbb.js 裡面有幾千行 幾萬行 程式...

什麼是模組化?模組化的好處

1.高內聚低耦合,有利於團隊作戰,當專案很複雜的時候,將專案劃分為子模組分給不同的人開發,最後再組合在一起,這樣可以降低模組與模組之間的依賴關係體現低耦合,模組又有特定功能體現高內聚。2.可重用,方便維護,模組的特點就是有特定功能,當兩個專案都需要某種功能的時候,我們定義乙個特定的模組來實現該功能,...