FPGA學習筆記 Verilog語言的模組化設計

2021-10-03 12:53:58 字數 1512 閱讀 7531

在進行模組化設計中,對於複雜的數字系統,我們一般採用自頂向下的設計方式。可以把系統劃分成幾個功能模組,每個功能模組再劃分成下一層的子模組;每個模組的設計對應乙個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 ...