版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章,1,第五章,結構模式描述法,5-1 元件之宣告 5-2 元件之連接 5.2.1 名稱對映式 5.2.2 位置對映式 5-3 階層式設計,第五章,2,結構模式描述法是VHDL程式三種架構描述法之最後一個,而前兩種方式我們已分別在第三章及第四章中討論之。結構模式描述法將整體數位電路視為一些相互連接的元件之集合,因此若要使用此方法描述一個數位電路,我們必須要清楚的宣告每一個元件,以及說明元件間如何連接。使用結構模式描述法之最大優點是可以使用階層式設計來簡化龐大電路的設計流程。該模式可將一個複雜的電路分解成若干個較為簡單之電路,在實現完成這些簡單之電路後,透過結構模式描述程式的整合,複雜電路也
2、就設計完成。 本章討論之重點為元件之宣告以及元件連接之敘述,以及使用結構模式描述法來完成階層式設計。在5.1節中我們說明了在架構描述中如何進行元件之宣告,在5.2節則詳細陳述元件連接之語法。最後,在5.3節裏我們討論階層式設計。,第五章,3,元件之宣告,使用結構模式描述法首先需要元件宣告,元件宣告可在架構或套件內進 行,其宣告之方式為: component 元件名稱 port ( 埠信號名稱1 : 模式1 資料型態1 ; 埠信號名稱2 : 模式2 資料型態2 ; 埠信號名稱n : 模式n 資料型態n ) ; end component ; 在上述宣告中定義了一個元件,其擁有n個輸出入埠(Por
3、t),而每一 個埠有一個信號名稱,同時並給予該名稱其資料型態及模式。與單體宣 告類似的是:假如有兩個或兩個以上的輸出入埠其物件擁有相同之模式 及型態,則我們可在宣告時予以合併之。,5-1,第五章,4,在架構中元件宣告的位置為 architecture 架構名稱 of 單體名稱 is 元件宣告 信號物件宣告 begin 架構描述程式 end架構名稱; 因此元件宣告的位置應位於架構中第一個begin的上面。至於在套件 中執行元件宣告之程序我們將在第七章中討論之。 元件宣告的主要目的之一是:將另外一個已經設計完成的VHDL程 式之單體,當作一個元件,並將它宣告且使用在本程式中。因此,若我 們擬使用某
4、單體來作為我們的元件,則在執行元件宣告時之元件名稱必 需要與該單體名稱相同。由於單體名稱與儲存有該單體之檔案名稱也一 致,所以元件名稱也必需要與該檔案名稱相同。 在執行元件宣告時,除了注意元件名稱與單體名稱需要相同外,元 件與單體之輸出入埠之數目,以及每一個埠的信號之資料型態以及模式 也需相同。雖然元件與單體每一個埠的信號名稱可以不同,但我們建議 讓這些名稱也相同以增進程式之可讀性。,第五章,5,以下為一些元件宣告的實例,若我們擬在程式中使用一D型正反器及一多工器,其各自之單體宣告如下: - - 此單體應儲存於 D_FF.vhd 檔案中 - entity D_FF is port (Qin,
5、clk : in bit ; Qout : out bit ); end D_FF ; - - 此單體應儲存於 mux4.vhd 檔案中 - entity mux4 is port ( X : in bit_vector(3 downto 0) ; S : in bit_vector(1 downto 0) ; Y : out bit ); end mux4;,第五章,6,則我們在程式中應有兩個元件宣告,其分別為 component D_FF port (Qin, clk : in bit ; Qout : out bit ); end component ; component mux4 p
6、ort ( X : in bit_vector(3 downto 0) ; S : in bit_vector(1 downto 0) ; Y : out bit ); end component; 這兩個宣告之元件名稱分別為D_FF 及 mux4,因此在執行電路模擬 或合成時編輯器會自動尋找檔案D_FF.vhd及mux4.vhd,並將其單體以及 相關之架構描述載入執行。,第五章,7,元件之連接,元件在經過宣告後,若我們要使用此元件,則需執行元件啟動(Component Instan- tiation),其目的即為指明此元件與電路信號的連接狀況。執行元件啟動之敘述句應位於架構描述程式中。描述元
7、件與電路信號的連接狀況可有兩種方式:名稱對映式及位置對映式。,5-2,第五章,8,5-2-1 名稱對映式,使用名稱對映式來執行元件啟動之語法如下: 元件標題:元件名稱 port map ( 埠信號名稱1 = 信號1 , 埠信號名稱2 = 信號2 , . 埠信號名稱n = 信號n ) ; 在此語法中,元件標題可省略,而元件名稱需要為已宣告完成之元 件的名稱。我們可將元件上的每一個埠信號名稱均視作元件之“接腳”名 稱,因此 埠信號名稱i = 信號I 之含義為將信號i連接至元件之 “埠信號名稱i”。值得注意的是此種連接 方式有一些限制:首先,信號i與埠信號名稱 i需要有相同之資料型態。其 次,信號i
8、與埠信號名稱 i之模式需要一致。若埠信號名稱 i之模式為in,則信 號i必須能提供信號;反之,若埠信號名稱 i之模式為out,則信號i必須能輸 出信號。在架構中宣告的信號可為各種模式,因此可滿足此一要求。然而若 信號是在單體中宣告,其只能是一種模式,我們在連接上就必須小心。舉例 來說,在這種情況下若埠信號名稱 i之模式為in,信號 i之模式也必須為in而 不能為 out或 inout。,第五章,9,此語法還有一個特點是只要名稱對應正確即可,而對應之次序並不重 要,例如若欲使用此語法啟動D_FF元件,我們可用下列之敘述句: D_FF port map ( Qin = a, clk = b, Qo
9、ut = c) ; 我們也可調換其對應次序為 D_FF port map ( clk = b, Qin = a, Qout = c) ; 此兩種方式皆正確,且可獲得相同之結果。,第五章,10,5-2-2 位置對映式,使用位置對映式來執行元件啟動之語法如下: 元件標題:元件名稱 port map ( 信號1 , 信號2 , . 信號n ) ; 此語法之含義為將信號1連接至元件之第一個輸出入埠,將信號2連 接至元件之第二個輸出入埠,以此類推,最後將信號n連接至元件之最後 一個輸出入埠。 使用位置對映式來執行元件啟動之語法會比使用名稱對映式之語法簡 單許多。然而當一個元件輸出入埠之數目很多時,使用此
10、語法恐容易造 成錯誤或混淆,應特別留意。,第五章,11,以下為使用結構模式描述法之 VHDL語言的簡單實例,其目的為實現如圖5.1所示之電路。該電路包含了一個and邏輯閘、一個nor邏輯閘以及一個D型正反器,其輸出入關係如表5.1所示。,圖5.1CONTROL_CKT.vhd所描述之電路,第五章,12,表5.1 圖5.1電路之輸出入關係,第五章,13,- - 此單體應儲存於 CONTROL_CKT.vhd 檔案中 - entity CONTROL_CKT is port ( A, clk, MR, Din: in bit ; RDY, CtrlA : out bit ); end CONTRO
11、L_CKT; architecture STRUCTURE of CONTROL_CKT is component AND_2 port(X, Y : in bit ; Z : out bit ); end component; component FF port(D, CLOCK : in bit ; Q, Qbar : out bit ) ; end component ; component NOR_2 port(X, Y : in bit; Z : out bit ); end component ; signal S1, S2: bit; begin C1: FF port map
12、(A, clk, S1, S2) ; C2: AND_2 port map (S2, Din, CtrlA) ; C3: NOR_2 port map (S1, MR, RDY) ; end STRUCTURE ;,第五章,14,此程式宣告了三個元件:AND_2、NOR_2及FF,其分別代表and邏輯 閘、nor邏輯閘以及D型正反器。這三個元件再以位置對映方式連接之。 值得注意的是這三個元件分別代表了位於不同VHDL程式之單體,且每 一單體之架構描述程式不需要一定使用結構模式描述法。以下我們將每 一單體之完整VHDL程式列出: 元件AND_2所代表之單體之VHDL程式如下所示: - - 此單體
13、應儲存於 AND_2.vhd 檔案中 - entity AND_2 is port(X, Y : in bit ; Z : out bit ); end AND2 ; architecture dataflow of AND2 is begin Z = X and Y ; end dataflow;,第五章,15,元件FF所代表之單體之VHDL程式如下所示: - - 此單體應儲存於 FF.vhd 檔案中 - entity FF is port(D, CLOCK : in bit ; Q, Qbar : out bit ) ; end FF ; architecture behavior of
14、FF is begin process (D, CLOCK) begin if ( CLOCKEVENT and CLOCK = 1 ) then Q = D ; Qbar = not D ; end if ; end process ; end behavior;,第五章,16,元件NOR_2所代表之單體之VHDL程式如下所示: - - 此單體應儲存於 NOR_2.vhd 檔案中 - entity NOR_2 is port(X, Y : in bit ; Z : out bit ); end NOR_2 ; architecture dataflow of NOR_2 is begin Z
15、 = X nor Y ; end dataflow ;,第五章,17,由這些程式我們可觀察得AND_2及NOR_2之架構描述使用了資料流模式描述法,而FF使用了行為描述模式描述法。不僅如此,將這三個元件依圖5.1之方式連接時,我們又用了結構描述法。這些自由的模式選擇彈性可以降低我們電路設計的困難度。圖5.2顯示了此一電路的模擬結果,此結果與表5.1一致。,圖5.2CONTROL_CKT.vhd之模擬結果,第五章,18,階層式設計,使用結構模式描述法之最大優點是可以使用階層式設計來簡化龐大電路的設計流程。一個電路的階層可透過元件的宣告及啟動來建構完成。以下為一個階層式設計的例子。我們假設一個電路
16、A 可分解成四個部份:B、C、F及G,當中電路B可再分解為D、E以及B的剩餘部份。電路C也可再分解為E以及C的剩餘部份。,5-3,第五章,19,我們可透過以下的元件宣告及啟動來完成此一階層式設計: entity A is port(.) end A; architecture A_internals of A is component B port(.) end component; component C port(.) end component; component F port(.) end component; component G port(.) end component; b
17、egin B port map(.); C port map(.); F port map(.); G port map(.); end A_internals; entity F is port(.) end F; architecture F_internals of F is begin -Behavior of F. . end F_internals;,續接下頁程式,第五章,20,entity B is port(.) end B; architecture B_internals of B is component D port (.) end component; compone
18、nt E port (.) end component; begin D port map (.); E port map (.); -Remaining behavior of B. . end B_internals; entity C is port(.) end C; architecture C_internals of C is component E port (.) end component; begin E port map (.); -Remaining behavior of C. . end C_internals; entity D is port(.) end D; architecture D_internals of D is begin -Behavior of D. . end D_internals;,續接下頁程式,第五章,21,entity E is port(.) end
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会计年度个人述职报告范文(20篇)
- 酒店疫情防控知识测试题及答案
- 2025-2026学年惠安县四年级数学第二学期期中达标检测试题(含答案)
- 眼钝挫伤相关试题及参考答案
- 单招语文会考试题及答案全解析
- 2025-2026学年山东省烟台市莱州市数学四年级下学期期中达标检测试题含答案
- 网络管理员专项试题及答案探讨
- 福建轻纺招聘试题及答案详情
- 净化师面试常考问题及详细答案
- 亚朵sop测试题及答案大全
- AIAG CQI-35 中文版(线束质量指南 第一版 汽车线束全流程质量管控)
- 中国公证协会招聘考试真题2025
- GA/T 1723.2-2025国家网络身份认证公共服务认证服务第2部分:真实身份认证服务接口要求
- 靶向CD47与PD L1双特异性抗体:构建策略、作用机制与临床前景探究
- 山东省德州市乐陵市2024-2025学年七年级上学期语文期末试卷(含答案)
- 视频监控系统工程监理实施细则
- DB11∕T 1553-2025 建筑室内装配式装修技术规程
- 2025年趣味化学实验(家庭安全版)
- 2026年新能源汽车动力电池回收体系构建行业报告
- 弱电系统完工总结报告模板
- 2026年广州市天河区灵秀小学公开招聘编外聘用制专任教师备考题库含答案详解
评论
0/150
提交评论