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