參數(shù)化的延遲鏈代碼分享
在日常寫代碼的過程中,我們經(jīng)常會(huì)用到“打拍”的操作。如圖1代碼段所示。這個(gè)打拍的作用,很多時(shí)候主要是為了減少亞穩(wěn)態(tài)。圖1這樣的寫法,是我們的常規(guī)操作。這樣寫的好處是簡(jiǎn)單明了,讓人一看就能明白。 大部分時(shí)候,我們都采取這樣的寫法。今天,想從參數(shù)化和模塊化的角度,來看下該怎么實(shí)現(xiàn)這種打拍操作。雖然對(duì)于“打拍”操作來說有點(diǎn)化簡(jiǎn)為繁,畫蛇添足的感覺,但是重點(diǎn)是想通過這個(gè)實(shí)例來介紹設(shè)計(jì)中的一種思想:就是我們要盡量把經(jīng)常用的模塊進(jìn)行參數(shù)化和模塊化,這樣可以提高開發(fā)效率,避免重復(fù)造輪子。
圖1
這里給出一個(gè)名詞:延遲鏈??赡苣銢]有聽過,但是上面的“打拍”操作是不是有點(diǎn)像這個(gè)名詞的字面意思?這里就不介紹它了,下面直接給出我的代碼,本代碼實(shí)現(xiàn)了參數(shù)化的延遲鏈功能。其中,DW是Data Width的縮寫,意思是待延遲的數(shù)據(jù)的位寬。比如上面圖1代碼中的數(shù)據(jù)位寬為1位(cs_n1dly)。比如有些地址、數(shù)據(jù)位32位,打3拍,那么把DW設(shè)置為32,LEN設(shè)置為3。本代碼已經(jīng)經(jīng)過仿真,功能正確。 放出完整代碼,如下:
圖3
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
原文標(biāo)題:零碎知識(shí) | 參數(shù)化的延遲鏈代碼分享
文章出處:【微信號(hào):fpga加油站,微信公眾號(hào):fpga加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
相關(guān)推薦
SAN網(wǎng)絡(luò)性能有著至關(guān)重要的作用,今天主要給家介紹SAN網(wǎng)絡(luò)主要延遲類型(主要包括鏈路延遲和交換機(jī)延遲,主機(jī)延遲和存儲(chǔ)
發(fā)表于 01-07 16:20
`區(qū)塊鏈軟件談:去中心化原理最大基尼系數(shù):區(qū)塊鏈去中心化程度的粗略衡量標(biāo)準(zhǔn)我們可以把子系統(tǒng)去中心化的這些衡量標(biāo)準(zhǔn)樣例結(jié)合,來衡量一個(gè)系統(tǒng)的去
發(fā)表于 11-20 16:02
延遲變體之間的權(quán)衡因素使用公式化和基于規(guī)程的方法來設(shè)計(jì)鏈路延遲使用德州儀器 (TI) 的 ADC16DX370 或 LM97937 ADC 以及 Xilinx Kintex 7 FPG
發(fā)表于 11-21 16:51
請(qǐng)問,要搭一個(gè)傳輸鏈路,鏈路中的ADC和DAC的參數(shù),比如:采樣率和分辨率一定要一樣嗎?中頻模擬信號(hào),先模數(shù)轉(zhuǎn)換數(shù)字化進(jìn)行傳輸,之后需要數(shù)模轉(zhuǎn)換,前后的ADC和DAC采樣率和位數(shù)是否要
發(fā)表于 01-18 19:45
使用iMPACT我無法初始化鏈。在初始邊界掃描時(shí),彈出以下錯(cuò)誤:有許多未知設(shè)備被檢測(cè)到。按是繼續(xù)或按否停止。我還收到以下錯(cuò)誤:錯(cuò)誤:iMPACT - 硬件配置中可能存在問題。電纜,掃描鏈和電源連接
發(fā)表于 09-16 10:32
你好,我是這個(gè)嵌入式程序的新手。我想眨一下2s延時(shí)的LED燈。AM使用OSC。FRQ30MHz,PIC-18F420,MPLABXIDE,XC8編譯器。我得到一個(gè)錯(cuò)誤的錯(cuò)誤:(1355)內(nèi)聯(lián)延遲參數(shù)
發(fā)表于 10-22 12:19
各位好,我想問個(gè)問題,就是如果使用延遲發(fā)布,在臨界段代碼中發(fā)生了中斷,是不是將參數(shù)什么的寫入終端隊(duì)列后,讓中斷隊(duì)列處理任務(wù)進(jìn)入就緒態(tài),但此時(shí)因?yàn)槿蝿?wù)調(diào)度器是鎖定的,應(yīng)該會(huì)先把中斷任務(wù)處的臨界段
發(fā)表于 04-21 04:35
的V3代碼生成器來生成延遲函數(shù)。這一次的流水燈程序一個(gè)是用板子上的兩個(gè)LED來左右閃爍,二者是利用左移或者右移函數(shù)來實(shí)現(xiàn)。延遲函數(shù)的生成點(diǎn)擊工具,再點(diǎn)擊V3代碼生成器,會(huì)出來如下窗口。
發(fā)表于 12-06 06:55
方式:some.where.else.theSignal.pull()在生成RTL代碼時(shí),會(huì)講該信號(hào)聲明一個(gè)端口鏈接偷穿到我們這一級(jí)的Component。Component參數(shù)化設(shè)計(jì)與我們編寫Verilog時(shí)相同,在Spinal
發(fā)表于 07-21 14:20
FPGA 設(shè)計(jì)的硬件語(yǔ)言Verilog中的參數(shù)化有兩種關(guān)鍵詞:define 和 paramerter,參數(shù)化的主要目的是代碼易維護(hù)、易移植和
發(fā)表于 12-26 09:53
?866次閱讀
設(shè)計(jì)人員必須注意幾個(gè)重要參數(shù),以保持處理復(fù)合視頻信號(hào)(CVBS)的圖像質(zhì)量。色度和亮度,光信號(hào)的顏色和亮度,是兩個(gè)這樣的參數(shù)。色度到亮度延遲失配參數(shù)與群
發(fā)表于 01-13 14:23
?2480次閱讀
基于此,京東供應(yīng)鏈研發(fā)部自研了一套,面向業(yè)務(wù)角色的海納低代碼規(guī)則引擎平臺(tái),產(chǎn)品定位是面向業(yè)務(wù)、研發(fā)多角色一體化的零低代碼開發(fā)平臺(tái),這其中規(guī)則引擎是其最核心的部分之一。
發(fā)表于 04-11 09:55
?599次閱讀
參數(shù)化的代碼需要在靈活性和復(fù)雜性之間做出平衡,而且高度參數(shù)化代碼的驗(yàn)證是一個(gè)非常具有挑戰(zhàn)性的工作
發(fā)表于 05-05 09:16
?1653次閱讀
,因?yàn)槲覀兛梢愿p松地將代碼從一個(gè)設(shè)計(jì)移植到另一個(gè)設(shè)計(jì)。
我們?cè)趘erilog中有兩個(gè)可用的結(jié)構(gòu),可以幫助我們編寫可重用的代碼 - 參數(shù)化和generate語(yǔ)句。這兩種結(jié)構(gòu)都允許
發(fā)表于 05-11 15:59
?1088次閱讀
在單片機(jī)項(xiàng)目開發(fā)過程中,經(jīng)常會(huì)出現(xiàn)一個(gè)有趣的問題,即弄清楚如何延遲代碼執(zhí)行。有時(shí),[單片機(jī)開發(fā)]人員可能只是希望有10微秒的延遲,以使I/O線在讀取之前穩(wěn)定下來,或者可能希望在兩次讀取之間指定的時(shí)間間隔使它反跳。在本文中,我們將
發(fā)表于 07-10 10:43
?2180次閱讀
評(píng)論