聊一聊在SpinalHDL里時(shí)鐘域中時(shí)鐘的定制與命名。
相較于Verilog,在SpinalHDL里,其對(duì)時(shí)鐘域有著更細(xì)致的描述,從而也能夠更精細(xì)的控制和描述。而對(duì)于時(shí)鐘域,我們往往關(guān)系的是:
時(shí)鐘頻率
復(fù)位電平:是高電平還是低電平
復(fù)位方式,是同步復(fù)位還是異步復(fù)位。
對(duì)于帶有時(shí)序電路的邏輯而言,最常用的生成Verilog代碼方式如下:
時(shí)鐘域默認(rèn)為異步高電平復(fù)位:
倘若要“定制”時(shí)鐘域,那么往往采用下面的方式生成RTL代碼:
這里在SpinalConfig里常用的用于“定制”時(shí)鐘的有兩個(gè)參數(shù):
defaultConfigForClockDomains
defaultClockDomainFrequency
defaultConfigForClockDomains參數(shù)可指定時(shí)鐘域的配置,ClockDomainConfig中可指定的參數(shù)包含:
clockEdge:指定有效時(shí)鐘沿(RISING、FALLING)
resetKind: 指定復(fù)位類型(ASYNC、SYNC)
resetActiveLevel: 指定復(fù)位類型(HIGH,LOW)
softResetActiveLevel:指定softReset類型(HIGH,LOW)
clockEnableActiveLevel: 指定時(shí)鐘使能信號(hào)電平(HIGH,LOW)
上述代碼最終生成的RTL為:
可以看到,復(fù)位信號(hào)變成了同步高電平復(fù)位形式。通過(guò)這種時(shí)鐘域配置的方式,可以做到一鍵修改適配,從而避免一遍又一遍的posedge、negedge啰嗦~,同時(shí)又避免自己在繁雜的Verilog代碼里手誤(真實(shí)遇到過(guò)別人代碼里復(fù)位一會(huì)兒posedge、一會(huì)兒negedge、估計(jì)是寫懵了)。
而defaultClockDomainFrequency則用于指定時(shí)鐘頻率,當(dāng)你的代碼里若調(diào)用類似這樣的lib函數(shù)那么指定時(shí)鐘頻率就尤為重要了:
val timeout = Timeout(10 ms) //Timeout who tick after 10 mswhen(timeout){ //Check if the timeout has tick timeout.clear() //Ask the timeout to clear its flag}》》時(shí)鐘重命名
在當(dāng)前的開發(fā)模式下,很難做到每個(gè)人都使用SpinalHDL,而當(dāng)牽涉到多人合作時(shí),時(shí)鐘與復(fù)位信號(hào)的命名往往需達(dá)成一致,通過(guò)下面的方式可以修改默認(rèn)時(shí)鐘域的信號(hào)命名:
對(duì)應(yīng)的RTL:
更通用一些,也可以根據(jù)復(fù)位信號(hào)的特征來(lái)指定名稱:
原文標(biāo)題:時(shí)鐘域“定制”
文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
FPGA
+關(guān)注
關(guān)注
1650文章
22204瀏覽量
626745 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1946瀏覽量
134110
原文標(biāo)題:時(shí)鐘域“定制”
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
風(fēng)華電阻器命名規(guī)范解析


Arm產(chǎn)品命名體系的演變

旺詮合金電阻的命名規(guī)則

使用CYUSB3065制作了一個(gè)定制電路板,并且想要配置我的定制傳感器,遇到的幾個(gè)疑問(wèn)求解
順絡(luò)貼片電容規(guī)格都是怎么命名的

是否可以在沒(méi)有RTC時(shí)鐘輸入的情況下在基于LS1043的定制板上使看門狗正常工作?
風(fēng)華電容命名方法深度解析
PCB最全封裝命名規(guī)范
ads7882里面的RD是不是一個(gè)同步用的時(shí)鐘脈沖?
ARM主板定制流程與成本

時(shí)序約束一主時(shí)鐘與生成時(shí)鐘

貼片共模電感的命名規(guī)格、特征及應(yīng)用
臺(tái)灣華科貼片電容的命名及封裝

評(píng)論