時(shí)鐘是芯片驗(yàn)證過程中最基本也是最重要的決定因素,一個(gè)精確的時(shí)鐘產(chǎn)生對(duì)時(shí)鐘敏感的電路來說至關(guān)重要。
Cocotb平臺(tái)中內(nèi)建了時(shí)鐘產(chǎn)生的函數(shù)Clock()。Clock函數(shù)在官網(wǎng)上的描述如下:
Clock函數(shù)一共有三個(gè)形參,分別為:
signal:驅(qū)動(dòng)的時(shí)鐘信號(hào),如dut.clk
period:時(shí)鐘周期,必須為偶數(shù)個(gè)時(shí)間單位
units:時(shí)間單位,可以為“飛秒”、“皮秒”、“納秒”、“微秒”、“毫秒”、“秒”等時(shí)間單位;同時(shí)支持“時(shí)間步”,此時(shí)則協(xié)同“COCOTB_HDL_TIMEPRECISION”來決定具體的時(shí)間單位。
Clock的構(gòu)造實(shí)例如下:
方式一:c = Clock(dut.clk, 10, 'ns')
cocotb.fork(c.start())
方式二:cocotb.fork(Clock(dut.clk, 10, units='ns').start())
產(chǎn)生的效果如下:
當(dāng)時(shí)鐘周期為奇數(shù)時(shí)則會(huì)報(bào)相關(guān)系統(tǒng)錯(cuò)誤
當(dāng)希望產(chǎn)生一個(gè)520.13MHz頻率的時(shí)鐘時(shí),時(shí)鐘周期為1.922596274008421ns,為了產(chǎn)生精度較高的520.13MHz時(shí)鐘時(shí),可以采用不同的時(shí)間單位來構(gòu)造該時(shí)鐘。
1、采用時(shí)間單位為“ns”,時(shí)鐘周期四舍五入取值為2ns
2、采用時(shí)間單位為“ps”,時(shí)鐘周期四舍五入取值為1923ps,周期要求偶數(shù)則取值為1924ps
3、采用時(shí)間單位為“fs”,時(shí)鐘周期四舍五入取值為1922596fs
Clock函數(shù)采用不同的時(shí)間單位時(shí)需要確保與代碼的timescale匹配,也就是說Clock函數(shù)的時(shí)間單位應(yīng)大于等于timescale的時(shí)間單位。
以上產(chǎn)生的時(shí)鐘均為占空比1:1的時(shí)鐘,當(dāng)用戶需要產(chǎn)生占空比非1:1的時(shí)鐘時(shí),可以參考如下代碼的實(shí)現(xiàn):
當(dāng)用戶需要做時(shí)鐘的動(dòng)態(tài)調(diào)整時(shí),可以參考如下的代碼實(shí)現(xiàn):
審核編輯:黃飛
-
芯片
+關(guān)注
關(guān)注
452文章
50056瀏覽量
419928 -
時(shí)鐘
+關(guān)注
關(guān)注
10文章
1706瀏覽量
131221 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4265瀏覽量
62262 -
時(shí)鐘信號(hào)
+關(guān)注
關(guān)注
4文章
442瀏覽量
28477
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論