數(shù)字系統(tǒng)設(shè)計(jì)12_第1頁
數(shù)字系統(tǒng)設(shè)計(jì)12_第2頁
數(shù)字系統(tǒng)設(shè)計(jì)12_第3頁
數(shù)字系統(tǒng)設(shè)計(jì)12_第4頁
數(shù)字系統(tǒng)設(shè)計(jì)12_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、PATHPULSE$Specparam可以在specify block中使用控制脈沖傳播。 脈沖在模塊的輸出上有兩個(gè)比通過模塊輸出延遲短的預(yù)定跳變。缺省情況下,脈沖會(huì)被模擬器濾掉;這意味著只有長于延遲的跳變才會(huì)通過模塊傳輸。這種效果叫做慣性延遲。PATHPULSE$可以改變?nèi)笔〉男袨榉绞健_€可以用于指定促使輸出出現(xiàn)x的脈沖寬度范圍。路徑脈沖控制使用PATHPULSE$控制模塊路徑脈沖保持。Syntax:PATHPULSE$ = ( reject_limit, error_limit); PATHPULSE$Input$Output = (reject_limit, error_limit);

2、Limit = ConstantMinTypMaxExpression如果error limit 沒給出,則它與reject limit相同。短于reject limit的脈沖將不被傳輸?shù)捷敵?。比reject limit長但是比error limit短的脈沖會(huì)被當(dāng)做1bX傳輸。比error limit長的脈沖則正常傳輸 。PATHPULSE$input$output specparam優(yōu)先于 普通的同一模塊中的PATHPULSE$ specparam 起作用。specify(en = q) = 12;(data = q) = 10;(clr, pre * q) = 4;specparamPAT

3、HPULSE$ = 3,PATHPULSE$en$q = ( 2, 9 ) ,PATHPULSE$clr$q = 1 ;endspecify定時(shí)校驗(yàn)任務(wù)定時(shí)檢查用于校驗(yàn)設(shè)計(jì)的定時(shí)。定時(shí)檢查完成以下功能:測定兩個(gè)事件之間的共用時(shí)間。比較共用時(shí)間和指定的時(shí)間限制。如果共用時(shí)間超指定的時(shí)間限制報(bào)告時(shí)間沖突。(沖突被當(dāng)作warning報(bào)告并不影響模塊輸出。)Verilog執(zhí)行的時(shí)間檢查有:建立保持脈沖寬度時(shí)鐘周期傾斜恢復(fù)定時(shí)校驗(yàn)任務(wù)$hold$nochange$period$recovery$setup$setuphold$skew$width$setup$setup( DataEvent, Refe

4、renceEvent, Limit, Notifier);如果(time_of_reference_event - time_of_data_event ) limit則報(bào)告時(shí)序沖突(timing violation);系統(tǒng)調(diào)用實(shí)例如下:$setup(data, posedge clk, 4);$hold$hold( ReferenceEvent, DataEvent, Limit , Notifier);如果(time_of_data_event - time_of_reference_event ) limit ,則報(bào)數(shù)據(jù)保持時(shí)間時(shí)序沖突。例如:$hold(posedge clk, dat

5、a, 3);$setuphold系統(tǒng)任務(wù)$setuphold是$setup和$hold任務(wù)的結(jié)合:$setuphold( ReferenceEvent, DataEvent, SetupLimit, HoldLimit , Notifier);實(shí)例:$setuphold(posedge clk, data, 4, 3);$width$width( ReferenceEvent, Limit , Threshold , Notifier);則檢查信號的脈沖寬度限制,如果threshold (time_of_data_event - time_of_reference_event) limit則報(bào)

6、告信號上出現(xiàn)脈沖寬度不夠?qū)挼臅r(shí)序錯(cuò)誤。數(shù)據(jù)事件來源于基準(zhǔn)事件:它是帶有相反邊沿的基準(zhǔn)事件,例如:$width(negedge Ck , 10, 0.3 ) ;$period$period( ReferenceEvent, Limit , Notifier);檢查信號的周期,若( time_of_data_event - time_of_reference_event ) limit則報(bào)告信號之間出現(xiàn)時(shí)序偏斜太大的錯(cuò)誤。如果data_event的時(shí)間等于reference_event的時(shí)間,則不報(bào)出錯(cuò)。$recovery$recovery( ReferenceEvent, DataEvent,

7、Limit , Notifier);主要檢查時(shí)序狀態(tài)元件(觸發(fā)器、鎖存器、RAM和ROM等)的時(shí)鐘信號與相應(yīng)的置/復(fù)位信號之間的時(shí)序約束關(guān)系,若( time_of_data_event - time_of_reference_event ) EventName; Trigger the eventEvent聲明可以出現(xiàn)在以下位置: module-endmodulebegin : Label-endfork : Label-jointask-endtaskfunction-endfunction命名事件module add_mult (out,a,b);input 2:0a,b;output 3

8、:0out;reg 3:0out;event add, mult; / define eventsalways (a or b)if (ab)-add; / trigger event else-mult; / trigger eventalways (add) /respond to an event triggerout = a + b;always (mult) /respond to an event triggerout = a * b;endmoduleEvents沒有值或者延遲,是簡單的事件觸發(fā)語句觸發(fā)的事件,并且有邊沿敏感定時(shí)控制檢測。命名事件在測試和系統(tǒng)級建模時(shí),同一module 中兩個(gè)always塊之間或者層次化中不同module之間通訊是很有用的。不可綜合。層次路徑名Verilog HDl中的標(biāo)識符具有一個(gè)唯一的層次路徑名。層次路徑名通過由句點(diǎn)(.)隔開的名字組成。新層次由以下定義:1) 模塊實(shí)例化2) 任務(wù)定義3) 函數(shù)定義4) 命名程序塊所有的nets, regist

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論