第七章_VHDL的阶层式设计.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章_VHDL的阶层式设计.ppt

VHDL 硬體描述語言 數位電路設計實務 第七章 VHDL 的階層式設計 7-1 階層式設計 (Hierarchy Design) 的觀念 階層式設計 (Hierarchy Design) 觀念所要描述的結構和資料結構中的樹狀表示大同小異,這種設計方式又可分為:由低至高的設計方式 (Bottom-up design),以及由高至低的設計方式 (Top-Down design)。 基本上這二種設計方式最終都會需要幾個較基本的單體 (entity) 的, 因為任何一個較具規模的設計都可由幾個較基本的單體所組成的。 7-1.1 由低至高的設計方式 (Bottom-Up design) 這種設計的方式是先將一些常用的單體 (entity) 設計出來之後,再用這些單體來設計出最後的“目標單體”。因為一個較具規模的設計是由幾個較基本的單體所組成的,像是堆積木的觀念:由小到大地設計出想要的目標單體。 “目標單體“是由一個或一個以上的”第2層單體“引用之單體 (entity) 所組成的、而其中的某一個”第2層單體“引用的單體又是由一個或一個以上的的”第3層單體“所組成的。 如圖「階層式設計架構圖 --- 由低至高 (Bottom-up ) 的設計方式」所示,請注意箭頭的方向:由低至高、由下而上。 圖示說明「由低至高 (Bottom-up ) 的設計方式」 “目標單體“ entity A 是由1個 entity B1、2個 entity B2以及1個 entity B3所組成的。 entity B1 是由1個 entity C2以及1個 entity C2所組成的。 entity B2 是由1個 entity C2以及1個 entity C3所組成的。 entity B3 是由1個 entity C3所組成的。 entity C1、entity C2、entity C3以及entity C4則是最基本的單體設計。 7-1.2 由高至低的設計方式 (Top-Down design) 這種設計的方式是先訂出“目標單體”的功能要求之後、去畫分出幾個較大功能的區塊單體 (entity),再去分析組成各個較大功能的區塊單體所需要用到的第3層以及較低層次的單體、最後再去設計第3層以及較低層次的這些單體。 有了第3層及較低層次的這些單體就可以結合出第2層次的單體,所需的第2層次的單體都合成出來之後、就可以結合出目標單體了。 這種設計單體的觀念,傾向於功能導向式單體設計觀念。 如圖「階層式設計架構圖 --- 由高至低 (Top-Down) 的設計方式」所示,請注意箭頭的方向:由高至低、由上而下。 圖示說明「由高至低 (Top-Down) 的設計方式」 例如想要設計一個8位元的 ALU,且用由高至低 (Top-Down) 的設計方式。 一個8位元的 ALU,由一個“8位元的加法器”、“8位元的減法器”、“8位元的乘法器” … 等等單體所組成,而其中“8位元的減法器”又可由一個具有:“用 not 閘將加數取補數後加1”的單體,以及一個“8位元的加法器”單體所組成。 7-2 埠對應 (Port Mapping) 連接的方式 將一個單體的埠與外部訊號連接的方法有兩種,分別為:依照定義單體時埠列的「順序」(in order) 來連接,以及依「指定名稱」(by name) 的方法來連接。這兩種方法必需分開使用、不可以同時在同一個引用單體的別名中使用。 7-2.1 依照定義單體時埠列的「順序」(in order) 來連接 這個方法對於初學 VHDL 的人來說是最直覺的方法, 將外部訊號依照定義這個單體時的埠列順序接到引用這個單體的別名。 mux_1: mux port map ( sel, a, b, mux_out ); reg8_1: reg8 port map ( Clock, Reset, mux_out, reg_out ); rotate_1: rotate port map ( Clock, Reset, r_l, reg_out, y ); 詳細電路請看底下的 「依照定義單體時埠列的「順序」(in order) 來連接Hier_Order.vhd」。 7-2.2 依照「指定名稱」(by name) 的方法來連接 對一個較大的設計而言、一個單體 (entity) 擁有50個埠是經常有的事,此時要詳記埠列的順序就非常地困難而且容易出錯。VHDL 為此藉由指定埠的名稱,將外界訊號連接到埠的方法,使用這個方法就不需要考慮到輸入訊號需要對應埠列順序的問題。 詳細電路請看底下的「依照「指定名稱」(by name) 的方法來連接Hier_Named.vhd」。 --

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档