freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

vhdlandpld第03章vhdl程序結(jié)構(gòu)(xxxx年9月)-在線瀏覽

2025-03-09 16:57本頁面
  

【正文】 AND (READY=39。) AND (RD=39。) THEN ? P0 = LATCH_IN1 。 ? END IF 禁止讀數(shù) P0口輸出呈高阻態(tài) ? END PROCESS。 第 3章 VHDL程序結(jié)構(gòu) ? BUFFER模式: BUFFER定義的通道確定為具有數(shù)據(jù)讀入功能的輸出端口,它與雙向端口的區(qū)別在于只能接受一個驅(qū)動源。顯然 BUFFER 的區(qū)別在于回讀 (輸入 )的信號不是由外部輸入的,而是由內(nèi)部產(chǎn)生,向外輸出的信號,有時往往在時序上有所差異。它們的邏輯功能和綜合后的電路都是一樣的。 ? USE 。 ? q1 : BUFFER STD_LOGIC 。 ? END bfexp 。039。039。 ? q2 = 39。 。EVENT AND clk = 39。 THEN ? q2 = din 。 將向 q1輸出的數(shù)據(jù)回讀 ,并向 q2賦值 ? END IF。 ? END。 ? USE 。 ? q1 : OUT STD_LOGIC 。 ? END bfexp 。 定義數(shù)據(jù)暫存緩沖信號 qbuf ? BEGIN ? PROCESS(clk,rst) ? BEGIN ? IF rst =39。 THEN ? qbuf = 39。 。039。 ? ELSIF clk39。139。 將由 din讀入的數(shù)據(jù)暫存于 qbuf ? q2 = qbuf 。 ? q1 = qbuf。 ? END。 ? 結(jié)構(gòu)體由兩大部分組成: ? 、常數(shù)、信號、子程序和元件等元素的說明部分。 ? (設(shè)計實體 )端口間的連接方式 (如程序 23)。結(jié)構(gòu)體不能單獨存在 它必須有一個界面說明,即一個實體 對于具有多個結(jié)構(gòu)體的實體 必須用CONFIGURATION 配置語句指明用于綜合的結(jié)構(gòu)體和用于仿真的結(jié)構(gòu)體,即在綜合后的可映射于硬件電路的設(shè)計實體中 一個實體只能對應(yīng)一個結(jié)構(gòu)體。當(dāng)把這個符號例化成一個實際的器件安裝到電路上時,則需配置語句為這個例化的器件指定一個結(jié)構(gòu)體 即指定一種實現(xiàn)方案,或由編譯器自動選一個結(jié)構(gòu)體。 第 3章 VHDL程序結(jié)構(gòu) ? 實體名必須是所在設(shè)計實體的名字,而結(jié)構(gòu)體名可以由設(shè)計者自己選擇,但當(dāng)一個實體具有多個結(jié)構(gòu)體時,結(jié)構(gòu)體的取名不可相重, 結(jié)構(gòu)體的說明語句部分必須放在關(guān)鍵詞 ARCHITECTURE 和 BEGIN 之間,結(jié)構(gòu)體必須以 END ARCHITECTURE;結(jié)構(gòu)體名作為結(jié)束句。 需要注意的是,在一個結(jié)構(gòu)體中說明和定義的數(shù)據(jù)類型、常數(shù)、元件、函數(shù)和過程只能用于這個結(jié)構(gòu)體中。 第 3章 VHDL程序結(jié)構(gòu) ? 3. 功能描述語句結(jié)構(gòu) ? 如圖 33 所示的功能描述語句結(jié)構(gòu)可以含有五種不同類型的以并行方式工作的語句結(jié)構(gòu)。這就是說,這五種語句結(jié)構(gòu)本身是并行語句但它們內(nèi)部所包含的語句并不一定是并行語句,如進程語句內(nèi)所包含的是順序語句圖 33中的五種語句結(jié)構(gòu)的基本組成和功能分別是: ? (1) 塊語句是由一系列并行執(zhí)行語句構(gòu)成的組合體,它的功能是將結(jié)構(gòu)體中的并行語句組成一個或多個子模塊。 ? (3) 信號賦值語句將設(shè)計實體內(nèi)的處理結(jié)果向定義的信號或界面端口進行賦值。 ? (5) 元件例化語句對其它的設(shè)計實體作元件調(diào)用說明,并將此元件的端口與其它的元件 信號或高層次實體的界面端口進行連接。在每個塊 ? 都能對其局部信號,數(shù)據(jù)類型和常量加以描述和定義 ,任何能在結(jié)構(gòu)體的說明部分進行說明的對象都能在 BLOCK說明部分中進行說明 BLOCK 語句應(yīng)用只是一種將結(jié)構(gòu)體中的并行描述語句進行組合的方法,它的主要目的是改善并行語句及其結(jié)構(gòu)的可讀性,或是利用 BLOCK的保護表達式關(guān)閉某些信號。 ? 接口說明部分有點類似于實體的定義部分,它可包含由關(guān)鍵詞 PORT、 GENERIC、 PORT MAP 和 GENERIC MAP 引導(dǎo)的接口說明等語句 。 ? 塊的類屬說明部分和接口說明部分的適用范圍僅限于當(dāng)前 BLOCK。 BLOCK 語句本身屬并行語句, BLOCK語句中所包含的語句也是并行語句。 利用 BLOCK 語句可以將結(jié)構(gòu)體中的并行語句劃分成多個并列方式的 BLOCK,每一個 BLOCK 都像一個獨立的設(shè)計實體,具有自己的類屬參數(shù)說明和界面端口,以及與外部環(huán)境的銜接描述。程序 311 給出了 BLOCK 語句的一個使用示例,而程序 312 描述了一個具有塊嵌套方式的 BLOCK語句結(jié)構(gòu)。 s_time : TIME ) 。 結(jié)構(gòu)體全局端口定義 ? END ENTITY gat 。 結(jié)構(gòu)體全局信號 a1定義 ? BEGIN ? Blk1 : BLOCK 塊定義 塊標(biāo)號名是 blk1 ? GENERIC (gb1, gb2 : Time) 。 局部端口參量設(shè)定 ? PORT (pb : IN BIT。 塊結(jié)構(gòu)中局部端口定義 ? PORT MAP (pb1 = b1, pb2 = a1 ) 。 局部常數(shù)定義 ? SIGNAL s1 : BIT 。 ? pb2 = s1 AFTER gb1, b1 AFTER gb2 。 ? END ARCHITECTURE func 。 ? BEGIN ? S1 = a AND b 。 ? BEGIN ? s2 = c AND d 。 ? END BLOCK b3 。 ? y = s1 。 ? ... 第 3章 VHDL程序結(jié)構(gòu) ? 3. BLOCK語句在綜合中的地位 ? 與大部分的 VHDL 語句不同。 ? 如以下的程序 313 和程序 314 的仿真結(jié)果是完全相同的。139。 ? blk1 : BLOCK ? BEGIN ? A2 : out2 = 39。 AFTER 3 ns 。039。 ? END BLOCK blk1 。139。 ? a2 : out2 = 39。 AFTER 3 ns 。039。 第 3章 VHDL程序結(jié)構(gòu) ? 從綜合的角度看 BLOCK 語句的存在也是毫無實際意義的,因為無論是否存在 BLOCK語句結(jié)構(gòu),對于同一設(shè)計實體 綜合后的邏輯功能是不會有任何變化的?;趯嵱玫挠^點 結(jié)構(gòu)體中功能語句的劃分最好使用元件例化 COMPONENT INSTANTIATION 的方式來完成。順序語句可以根據(jù)設(shè)計者的要求,利用順序可控的語句,完成逐條執(zhí)行的功能。 ? 一個結(jié)構(gòu)體中可以有多個并行運行的進程結(jié)構(gòu),而每一個進程的內(nèi)部結(jié)構(gòu)卻是由一系列順序語句來構(gòu)成。 PROCESS 結(jié)構(gòu)中既可以有時序邏輯的描述,也可以有組合邏輯的描述,它們都可以用順序語句來表達 然而,硬件中的組合邏輯具有最典型的并行邏輯功能 而硬件中的時序邏輯也并非都是以順序方式工作的。進程說明部分定義該進程所需的局部數(shù)據(jù)環(huán)境。 PROCESS 中規(guī)定了每個進程語句在當(dāng)它的某個敏感信號 (由敏感信號參量表列出 )的值改變時都必須立即完成某一功能行為。 當(dāng)進程中定義的任一敏感信號發(fā)生更新時,由順序語句定義的行為就要重復(fù)執(zhí)行一次,當(dāng)進程中最后一個語句執(zhí)行完成后執(zhí)行過程將返回到進程的第一個語句 以等待下一次敏感信號變化,如此循環(huán)往復(fù)以至無限 但當(dāng)遇到 WAIT語句時 執(zhí)行過程將被有條件地終止,即所謂的掛起 (Suspention)。而在一結(jié)構(gòu)體中 所有被激活的進程都是并行運行的,這就是為什么 PROCESS 結(jié)構(gòu)本身是并行語句的道理。 第 3章 VHDL程序結(jié)構(gòu) ? 2. PROCESS 組成 ? PROCESS 語句結(jié)構(gòu)是由三個部分組成的,即進程說明部分,順序描述語句部分和敏感信號參數(shù)表。 第 3章 VHDL程序結(jié)構(gòu) ? (2) 順序描述語句部分可分為賦值語句、進程啟動語句、子程序調(diào)用語句、順序描述語句和進程跳出語句等,它們包括 ? .信號賦值語句 即在進程中將計算或處理的結(jié)果向信號 (SIGNAL) 賦值。 ? . 進程啟動語句 當(dāng) PROCESS 的敏感信號參數(shù)表中沒有列出任何敏感量時 進程的啟動只能通過進程啟動語句 WAIT語句,這時可以利用 WAIT語句監(jiān)視信號的變化情況以便決定是否啟動進程 WAIT語句可以看成是一種隱式的敏感信號表。 ? . 順序描述語句,包括 IF 語句、 CASE 語句、 LOOP 語句、 NULL 語句等。 第 3章 VHDL程序結(jié)構(gòu) ? (3) 敏感信號參數(shù)表需列出用于啟動本進程可讀入的信號名 (當(dāng)有 WAIT 語句時例外 )。 等待 clock 激活進程 ? IF (driver = 39。 ) THEN ? CASE output IS ? WHEN s1 = output = s2 。 ? WHEN s3 = output = s4 。 ? END CASE ? END IF ? END PROCESS p1 ? END ARCHITECURE s_mode 。 ? 2 基于 VHDL綜合器的綜合結(jié)果所可能實現(xiàn)的運行方式。 第 3章 VHDL程序結(jié)構(gòu) ? 其它語句相比,進程語句結(jié)構(gòu)具有更多的特點 對進程的認(rèn)識和進行進程設(shè)計需要注意以下幾方面的問題: ? (1) 在同一結(jié)構(gòu)體中的任一進程是一個獨立的無限循環(huán)程序結(jié)構(gòu) 但進程中卻不必放置諸如軟件語言中的返回語句。 第 3章 VHDL程序結(jié)構(gòu) ? (2) 必須注意 PROCESS 中的順序語句的執(zhí)行方式與通常的軟件語言中的語句的順序執(zhí)行方式有很大的不同,軟件語言中每一條語句的執(zhí)行是按 CPU 的機器周期的節(jié)拍順序執(zhí)行的 每一條語句的執(zhí)行的時間與 CPU 的工作方式 工作晶振的頻率 機器周期及指令周期的長短有密切的關(guān)系 但在 PROCESS 中,一個執(zhí)行狀態(tài)的運行周期,即從 PROCESS 的啟動執(zhí)行到遇到 END PROCESS 為止所花的時間與任何外部因素都無關(guān)。這就是為什么用進程的順序語句方式也同樣能描述全并行的邏輯工作方式的道理。 ? (4) 進程的激活必須由敏感信號表中定義的任一敏感信號的變化來啟動,否則必須有一個顯式的 WAIT 語句來激勵。反之 ,在遇到不滿足條件的 WAIT 語句后進程將被掛起 因此 進程中必須定義顯式或隱式的敏感信號。 第 3章 VHDL程序結(jié)構(gòu) ? (5) 結(jié)構(gòu)體中多個進程之所以能并行同步運行 一個很重要的原因是進程之間的通信是通過傳遞信號和共享變量值來實現(xiàn)的 所以相對于結(jié)構(gòu)體來說 信號具有全局特性它是進程間進行并行聯(lián)系的重要途徑 因此 在任一進程的進程說明部分不允許定義信號和共享變量 共享變量是 VHDL’93增加的內(nèi)容。 第 3章 VHDL程序結(jié)構(gòu) ? (7) 進程有組合進程和時序進程兩種類型 組合進程只產(chǎn)生組合電路 時序進程產(chǎn)生時序和相配合的組合電路。設(shè)計中,需要特別注意的是組合進程中所有輸入信號,包括賦值符號右邊的所有信號和條件表達式中的所有信號,都必須包含于此進程的敏感信號表中。 第 3章 VHDL程序結(jié)構(gòu) ? 子程序 (SUBPROGRAM) ? 子程序是一個 VHDL 程序模塊 這個模塊是利用順序語句來定義和完成算法的 因此 ,只能使用順序語句 這一點與進程十分相似 所不同的是,子程序不能像進程那樣可以從本結(jié)構(gòu)體的其它塊或進程結(jié)構(gòu)中直接讀取信號值或者向信號賦值。即在程序包、結(jié)構(gòu)體和進程中定義,但由于只有在程序包中定義的子程序可被幾個不同的設(shè)計所調(diào)用 所以一般應(yīng)該將子程序放在程序包中。 ? 子程序有兩種類型,即過程 (PROCEDURE) 和函數(shù) (FUNCTION)。 ? 在函數(shù)入口中,所有參數(shù)都是輸入?yún)?shù),而過程有輸入?yún)?shù)、輸出參數(shù)和雙向參數(shù)。 第 3章 VHDL程序結(jié)構(gòu) ? 在實用中必須注意 綜合后的子程序?qū)⒂成溆谀繕?biāo)芯片中的一個相應(yīng)的電路模塊 且每一次調(diào)用都將在硬件結(jié)構(gòu)中產(chǎn)生對應(yīng)于具有相同結(jié)構(gòu)的不同的模塊。 第 3章 VHDL程序結(jié)構(gòu) ? 函數(shù) (FUNCTION) ? 函數(shù)的語言表達格式如下 ? FUNCTION 函數(shù)名 (參數(shù)表 ) RETURN 數(shù)據(jù)類型
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1