三防平板方案-組合電路UDP
時(shí)間:2024-08-06 作者:樂(lè)凡信息 瀏覽:201

三防平板在組合UDP中,輸出狀態(tài)僅由當(dāng)前輸入狀態(tài)的函數(shù)來(lái)確定。每當(dāng)輸入狀態(tài)發(fā)生變化時(shí),都會(huì)評(píng)估UDP,并將輸出狀態(tài)設(shè)置為狀態(tài)表中與所有輸入狀態(tài)匹配的行所指示的值。未明確指定的輸入的所有組合將驅(qū)動(dòng)輸出狀態(tài)為未知值x?!纠?.1】使用UDP定義mux2的Verilog HDL描述的例子,如代碼清單1-1所示。代碼清單1-1 UDP定義mux2的Verilog HDL描述


1.3 三防平板中電平敏感的時(shí)序UDP

電平敏感時(shí)序的時(shí)序行為和組合邏輯的行為表示方法相同,只是輸出端口聲明為reg類型,并且在每個(gè)表入口有一個(gè)額外的字段,用于表示UDP當(dāng)前的狀態(tài)。時(shí)序UDP的輸出字段表示下一個(gè)狀態(tài)?!纠?.2】電平敏感UDP的Verilog HDL描述的例子,如代碼清單1-2所示。代碼清單1-2 電平敏感UDP的Verilog HDL描述

該描述在兩個(gè)方面不同于組合UDP模型。首先,輸出標(biāo)識(shí)符q由一個(gè)額外的reg聲明,以指示存在內(nèi)部狀態(tài)q。UDP的輸出值始終與內(nèi)部狀態(tài)相同。其次,添加了一個(gè)當(dāng)前狀態(tài)的字段,該字段與輸入和輸出用冒號(hào)(:)分割。


1.4 三防平板中邊沿敏感的時(shí)序UDP

在電平敏感行為中,輸入值和當(dāng)前狀態(tài)足以確定輸出值。邊沿敏感行為的不同之處在于,輸出的變化是由輸入的特定跳變觸發(fā)的。這使?fàn)顟B(tài)表成為一個(gè)跳變表。

每個(gè)表?xiàng)l目最多可以在一個(gè)輸入上有一個(gè)跳變規(guī)范。轉(zhuǎn)換由括號(hào)中的一對(duì)值(如01)或跳變符號(hào)(如r)指定。下面條目是非法的:

應(yīng)明確規(guī)定所有不影響輸出的跳變。否則,這種跳變會(huì)導(dǎo)致輸出值變?yōu)閤。所有未指定的跳變都默認(rèn)為x。

如果UDP的行為對(duì)任何輸入的邊沿敏感,則應(yīng)為所有輸入的所有邊沿指定所需的輸出狀態(tài)。三防平板中邊沿敏感UDP的Verilog HDL描述的例子,如代碼清單1-3所示。代碼清單1-3 邊沿敏感UDP的Verilog HDL描述

諸如01之類的術(shù)語(yǔ)表示輸入值的跳變。具體地,(01)表示從0到1的跳變。前面UDP定義的表中的第一行解釋如下:當(dāng)時(shí)鐘值從0跳變?yōu)?,數(shù)據(jù)等于0時(shí),無(wú)論當(dāng)前狀態(tài)如何,輸出都會(huì)變?yōu)?。


1.5 三防平板中時(shí)序UDP的初始化

時(shí)序UDP的輸出端口上的初始值可以通過(guò)提供過(guò)程分配的初始化語(yǔ)句指定。初始化語(yǔ)句是可選的。

與模塊中的初始化語(yǔ)句一樣,UDP中的初始化聲明以關(guān)鍵字initial開(kāi)頭。UDP和模塊中的初始化語(yǔ)句如表1.2所示。


表1.2 三防平板中UDP和模塊中的初始語(yǔ)句【例1.4】包含初始化時(shí)序UDP的Verilog HDL描述的例子,如代碼清單1-4所示。代碼清單1-4 包含初始化時(shí)序UDP的Verilog HDL描述

輸出q在仿真開(kāi)始時(shí)具有初值1。實(shí)例化UDP上的延遲規(guī)范不會(huì)延遲將該初始值分配給輸出的仿真時(shí)間。當(dāng)仿真開(kāi)始時(shí),該值是狀態(tài)表中的當(dāng)前狀態(tài)。UDP初始化語(yǔ)句中不允許出現(xiàn)延遲。


1.6 三防平板中UDP實(shí)例

UDP實(shí)例在模塊內(nèi)以與門相同的方式指定。實(shí)例名字是可選的,與門相同。端口連接順序與UDP定義中指定的順序相同。由于UDP不支持z,因此只能指定兩個(gè)延遲??梢詾閁DP實(shí)例的數(shù)組指定可選范圍?!纠?.5】例化UDP的Verilog HDL描述的例子,如代碼清單1-5所示。代碼清單1-5 例化UDP的Verilog HDL描述


1.7 三防平板中邊沿和電平觸發(fā)的混合行為

UDP定義允許在同一個(gè)表中混合電平敏感結(jié)構(gòu)和邊沿敏感結(jié)構(gòu)。當(dāng)輸入發(fā)生變化時(shí),首先處理邊沿敏感的情況,然后處理電平敏感的情況。因此,當(dāng)電平敏感和敏感情況指定不同的輸出值時(shí),結(jié)果由電平敏感情況指定。【例1.6】混合時(shí)序行為UDP的Verilog HDL描述的例子,如代碼清單1-6所示。代碼清單1-6 混合行為時(shí)序UDB的Verilog HDL描述