quartus 中直接引用的延时模块(Modelsim已验证)
生活随笔
收集整理的這篇文章主要介紹了
quartus 中直接引用的延时模块(Modelsim已验证)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
quartus 中直接引用的延時模塊(Modelsim已驗證)
軟件:Quartus,Modelsim
語言:Verilog
引言
在設計時序時,我們經常要用到延時模塊,即將某個信號進行延遲N個clk處理。在Quarus中有可以直接引用的原語模塊,按照格式直接調用即可,方便快捷,可以縮短工程的開發周期。
1、模塊調用格式
lpm_shiftreg LPM_SHIFTREG_component (.clock (clk),.shiftin (data_in),.shiftout (data_out )); defparam LPM_SHIFTREG_component.lpm_direction = "LEFT"; defparam LPM_SHIFTREG_component.lpm_type = "LPM_SHIFTREG"; defparam LPM_SHIFTREG_component.lpm_width = 9;如上 輸入data_in,輸出data_out, 輸出比輸入延遲了 9-1=8 個clk。延遲clk的個數可以修改LPM_SHIFTREG_component.lpm_width的參數。"LEFT"指的是左移。
注:此模塊適用單bit的信號輸出,即data_in的位寬為1bit,多bit的話需要拆分成單bit使用此模塊,或者重新寫一個多bit的延遲模塊。
2、仿真驗證
寫一個簡單的testbench ,來驗證 如上調用模塊的可行性。
lpm_shiftreg LPM_SHIFTREG_component (.clock (clock),.shiftin (shiftin),.shiftout (qqout)); defparam LPM_SHIFTREG_component.lpm_direction = "LEFT"; defparam LPM_SHIFTREG_component.lpm_type = "LPM_SHIFTREG"; defparam LPM_SHIFTREG_component.lpm_width = 9; initial begin#0 clock = 1;shiftin = 0;#1000 shiftin = 1;#2000 shiftin = 0;#1000$stop ; end仿真接口波形如下:
可以看到兩個箭頭之間的延遲是8個clock;
即:輸出比輸出延遲8個clk。
歡迎 評論、留言、交流指正。
總結
以上是生活随笔為你收集整理的quartus 中直接引用的延时模块(Modelsim已验证)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python计算abcd*4=dcba_
- 下一篇: 开发复杂业务系统,有哪些设计思路