一、新建tb文件

進行例化

 

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_右鍵

定義輸入信號和輸出信號

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_觸發器_02

將輸入信號與被測試模塊連接到一起

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_右鍵_03

定義時鐘信號

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_右鍵_04

含義是定義clk為高電平,延時10納秒後取反

定義復位信號

先通過復位將D觸發器設置為零,在仿真時間線上往後推移201ns,多等一納秒是為了避免與時鐘信號產生衝突從而無法理解波形

再將reset_n信號拉高

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_右鍵_05

設計led每500ms翻轉一次,所以至少一秒鐘以上才能看到現象

仿真兩秒觀察實驗現象

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_觸發器_06

保存

二、仿真波形

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_時鐘週期_07

可以看到高低電平翻轉

看時序電路還要看仿真時間是否正確

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_觸發器_08

拖動黃色光標,點擊這個按鈕,光標就自動吸附到了第一個上升沿

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_觸發器_09

點擊這個圖標,

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_#fpga開發_10

,會添加標記,可以右鍵刪除標記

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_右鍵_11

點擊這個按鈕,

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_觸發器_12

,光標會到左邊的位置,因此

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_#fpga開發_13

,兩邊同時添加光標

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_右鍵_14

選擇第一個藍線,可以看到下面出現了藍色的時間點,這就是兩個藍線之間的時間間隔

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_時鐘週期_15

這個時間還多了20ns,是clk的時間,這個計數器從最大值25000000變為零也要消耗一個時鐘週期的時間

因此,只需在最大值處減一就可以調整過來了

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_右鍵_16

 可以看到修改後的值就是500ns

FPGA:邏輯功能的仿真與驗證_FPGA_timerring_#fpga開發_17