在進行模組化設計中,對於複雜的數字系統,我們一般採用自頂向下的設計方式。可以把系統劃分成幾個功能模組,每個功能模組再劃分成下一層的子模組;每個模組的設計對應乙個module,乙個module設計成乙個verilog程式檔案。因此,對乙個系統的頂層模組,我們採用結構化的設計,即頂層模組分別呼叫了各個功能模組。
一、以下以靜態數碼管顯示實驗為例簡單介紹。
1、底層模組1(計時模組)
module time_count
( input clk;
input rst_n;
output reg flag;);
//parameter define
parameter max_num =
25000000
;//計數器最大值..
.endmodule
2、底層模組2(數碼管靜態顯示模組)
module reg_led_static
( input clk;
input rst_n;
input addr_flag;
output reg [5:
0] sel;
output reg [5:
0] sel_led;);
...endmodule
3、頂層模組對以上兩個模組進行例化。
module seg_led_static_top
( input sys_clk;
input sys_rst_n;
output sel;
output sel_led;);
//parameter difine
parameter max_show =
25'd25000000;
wire addr_flag;
//*****main code****
//計時器模組例化
time_count #(
.max_num (max_show)
)u_time_count
(.clk (sys_clk)
,.rst_n (sys_rst_n)
,.flag (addr_flag));
//數碼管顯示模組例化
reg_led_static u_reg_led_static
(.clk (sys_clk)
,.rst (sys_rst_n)
,.addr_flag (addr_flag)
,.sel (sel)
,.sel_led (sel_led)
);
二、小結
FPGA學習筆記(二) verilog 語法講解
verilog語法介紹 數位電路中主要有組合邏輯和時序邏輯兩種電路。組合邏輯 多路選擇器 解碼器 加法器 乘法器等 時序邏輯 最基本的是計數器。verilog檔案的基本結構 乙個檔案中可以包含多個模組。方法1 模組宣告 模組名 埠列表 module mux2 a,b,sel,out,io 埠屬性定義...
FPGA 設計 Verilog 基礎 二
狀態機是許多數字系統的核心部件,是一類重要的時序邏輯電路。通常包括三個部分 一是下乙個狀態的邏輯電路,二是儲存狀態機當前狀態的時序邏輯電路,三是輸出組合邏輯電路。通常,狀態機的狀態數量有限,成為有限狀態機 fsm 由於狀態機的所有觸發器的時鐘由同一脈衝邊沿觸發,故也稱之位有限狀態機。根據狀態機的輸出...
FPGA學習 3 Verilog語言語法
系統 win10 平台 quartus ii fpga ep4ce6 reg cout 定義cout為資料型別reg reg 3 0 out 四位reg型號 wire a,b,c,d,f 定義為wire 連線 型一般定義個宣告放到一起 output reg f output reg 3 0 out ...