夏宇聞著作:verilog從算法到硬件的實現(xiàn)2_第1頁
夏宇聞著作:verilog從算法到硬件的實現(xiàn)2_第2頁
夏宇聞著作:verilog從算法到硬件的實現(xiàn)2_第3頁
夏宇聞著作:verilog從算法到硬件的實現(xiàn)2_第4頁
夏宇聞著作:verilog從算法到硬件的實現(xiàn)2_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第二章Verilog HDL設計方法概述 前言隨著電子設計技術的飛速發(fā)展,專用集成電路(ASIC)和用戶現(xiàn)場可編程門陣 列(FPGA)的復雜度越來越高。數(shù)字通信、工業(yè)自動化控制等領域所用的數(shù)字電路及 系統(tǒng)其復雜程度也越來越高,特別是需要設計具有實時處理能力的信號處理專用集成 電路,并把整個電子系統(tǒng)綜合到一個芯片上。設計并驗證這樣復雜的電路及系統(tǒng)已不 再是簡單的個人勞動,而需要綜合許多專家的經驗和知識才能夠完成。由于電路制造 工藝技術進步非常迅速,電路設計能力趕不上技術的進步。在數(shù)字邏輯設計領域,迫 切需要一種共同的工業(yè)標準來統(tǒng)一對數(shù)字邏輯電路及系統(tǒng)的描述,這樣就能把系統(tǒng)設 計工作分解為邏輯設計

2、(前端)和電路實現(xiàn)(后端)兩個互相獨立而又相關的部分。 由于邏輯設計的相對獨立性就可以把專家們設計的各種常用數(shù)字邏輯電路和系統(tǒng)部 件(如FFT算法、DCT算法部件)建成宏單元(Megcell)或軟核(Soft-Core)庫供設 計者引用,以減少重復勞動,提高工作效率。電路的實現(xiàn)則可借助于綜合工具和布局 布線工具(與具體工藝技術有關)來自動地完成。VHDL和Verilog HDL這兩種工業(yè)標準的產生順應了歷史的潮流,因而得到了迅 速的發(fā)展。作為跨世紀的中國大學生應該盡早掌握這種新的設計方法,使我國在復雜 數(shù)字電路及系統(tǒng)的設計競爭中逐步縮小與美國等先進的工業(yè)發(fā)達國家的差距。為我國 下一個世紀的深亞

3、微米百萬門級的復雜數(shù)字邏輯電路及系統(tǒng)的設計培養(yǎng)一批技術骨 十。硬件描述語言 HDL(Hardware Description Language)硬件描述語言(HDL)是一種用形式化方法來描述數(shù)字電路和設計數(shù)字邏輯系 統(tǒng)的語言。它可以使數(shù)字邏輯電路設計者利用這種語言來描述自己的設計思想,然后 利用電子設計自動化(在下面簡稱為EDA)工具進行仿真,再自動綜合到門級電路,再 用ASIC或FPGA實現(xiàn)其功能。目前,這種稱之為高層次設計(High-Level-Design)的方 法已被廣泛采用。據(jù)統(tǒng)計,在美國硅谷目前約有90%以上的ASIC和FPGA已采用硬件描 述語言方法進行設計。第二章Verilog

4、 HDL設計方法概述 硬件描述語言的發(fā)展至今已有二十多年的歷史,并成功地應用于設計的各個 階段:仿真、驗證、綜合等。到80年代時,已出現(xiàn)了上百種硬件描述語言,它們對設 計自動化起到了極大的促進和推動作用。但是,這些語言一般各自面向特定的設計領 域與層次,而且眾多的語言使用戶無所適從,因此急需一種面向設計的多領域、多層 次、并得到普遍認同的標準硬件描述語言。進入80年代后期,硬件描述語言向著標準 化的方向發(fā)展。最終,VHDL和Verilog HDL語言適應了這種趨勢的要求,先后成為IEEE 標準。把硬件描述語言用于自動綜合還只有短短的六、七年歷史。最近三四年來,用 綜合工具把可綜合風格的HDL模

5、塊自動轉換為電路發(fā)展非常迅速,在美國已成為設計 數(shù)字電路的主流。本書主要介紹如何來編寫可綜合風格的Verilog HDL模塊,如何借 助于Verilog語言對所設計的復雜電路進行全面可靠的測試。Verilog HDL 的歷史什么是Verilog HDLVerilog HDL是硬件描述語言的一種,用于數(shù)字電子系統(tǒng)設計。它允許設計者 用它來進行各種級別的邏輯設計,可以用它進行數(shù)字邏輯系統(tǒng)的仿真驗證、時序分析、 邏輯綜合。它是目前應用最廣泛的一種硬件描述語言。據(jù)有關文獻報道,目前在美國 使用Verilog HDL進行設計的工程師大約有60000人,全美國有200多所大學教授用 Verilog硬件描述

6、語言的設計方法。在我國臺灣地區(qū)幾乎所有著名大學的電子和計算 機工程系都講授Verilog有關的課程。Verilog HDL的產生及發(fā)展Verilog HDL 是在 1983 年,由 GDA(GateWay Design Automation) 公司的 Phil Moorby首創(chuàng)的。Phil Moorby后來成為Verilog-XL的主要設計者和Cadence公司 (Cadence Design System)的第一個合伙人。在 1984-1985 年,Moorby 設計出 了第一 個關于Verilog-XL的仿真器,1986年,他對Verilog HDL的發(fā)展又作出了另一個巨大 貢獻:即提出了

7、用于快速門級仿真的XL算法。隨著Verilog-XL算法的成功,Verilog HDL語言得到迅速發(fā)展。1989年,Cadence 公司收購了 GDA公司,Verilog HDL語言成為Cadence公司的私有財產。1990年,Cadence 公司決定公開 Verilog HDL 語言,于是成立了 OVI(Open Verilog International) 組第二章Verilog HDL設計方法概述 織來負責Verilog HDL語言的發(fā)展?;赩erilog HDL的優(yōu)越性,IEEE于1995年制定 了Verilog HDL的IEEE標準,即Verilog HDL1364-1995 (在

8、本書的附錄中有該標準的 中文翻譯,可供同學參考)。下面兩幅圖顯示出Verilog的發(fā)展歷史和將來。圖2-2 Verilog HD也勺發(fā)展歷史和未來Verilog HDL 和 VHDL 的比較Verilog HDL和VHDL都是用于邏輯設計的硬件描述語言,并且都已成為IEEE標 準。VHDL是在1987年成為IEEE標準,Verilog HDL則在1995年才正式成為IEEE標準。 之所以VHDL比Verilog HDL早成為IEEE標準,這是因為VHDL是美國軍方組織開發(fā)的, 而Verilog HDL則是從一個普通的民間公司的私有財產轉化而來,基于Verilog HDL 的優(yōu)越性,才成為的IE

9、EE標準,因而有更強的生命力。VHDL 其英文全名為 VHSIC Hardware Description Language, 而VHSIC則是 Very High Speed Integerated Circuit 的縮寫詞,意為甚高速集成電路,故VHDL其 準確的中文譯名為甚高速集成電路的硬件描述語言。Verilog HDL和VHDL作為描述硬件電路設計的語言,其共同的特點在于:能形 式化地抽象表示電路的結構和行為、支持邏輯設計中層次與領域的描述、可借用高級第二章Verilog HDL設計方法概述 語言的精巧結構來簡化電路的描述、具有電路仿真與驗證機制以保證設計的正確性、 支持電路描述由高

10、層到低層的綜合轉換、硬件描述與實現(xiàn)工藝無關(有關工藝參數(shù)可 通過語言提供的屬性包括進去)、便于文檔管理、易于理解和設計重用。但是Verilog HDL和V HDL又各有其自己的特點。由于Verilog HDL早在1983年 就已推出,至今已有十三年的應用歷史,因而Verilog HDL擁有更廣泛的設計群體, 成熟的資源也遠比VHDL豐富。與VHDL相比Verilog HDL的最大優(yōu)點是:它是一種非常 容易掌握的硬件描述語言,只要有C語言的編程基礎,通過二十學時的學習,再加上 一段實際操作,一般同學可在二至三個月內掌握這種設計技術。而掌握VHDL設計技術 就比較困難。這是因為VHDL不很直觀,需

11、要有Ada編程基礎,一般認為至少需要半年 以上的專業(yè)培訓,才能掌握VHDL的基本設計技術。目前版本的Verilog HDL和VHDL在 行為級抽象建模的覆蓋范圍方面也有所不同。一般認為Verilog HDL在系統(tǒng)級抽象方 面比VHDL略差一些,而在門級開關電路描述方面比VHDL強得多。下面圖1-3是Verilog HDL和VHDL建模能力的比較圖示供讀者參考:行為級的抽象系統(tǒng)級_算法級 _寄存器傳輸級 w門級一 邏輯口級kVHDLVerilog開關電路級 開天電路級VITAL圖23 VerilogHDL與VHDL建模能力的比較但這兩種語言也是在不斷的完善過程中,因此Verilog HDL作為學

12、習HDL設計 方法的入門和基礎是比較合適的。學習掌握Verilog HDL建模、仿真和綜合技術不僅 可以使同學們對數(shù)字電路設計技術有更進一步的了解,而且可以為以后學習高級的系 統(tǒng)綜合打下堅實的基礎。Verilog HDL目前的應用情況和適用的設計幾年以來,EDA界一直對在數(shù)字邏輯設計中究竟采用哪一種硬件描述語言爭論 不休,目前的情況是兩者不相上下。在美國,在高層邏輯電路設計領域Verilog HDL 和VHDL的應用比率是60 %和40 %,在臺灣省各為50 %,在中國大陸目前由于Verilog HDL和VHDL的使用才剛剛開始,具體應用比率還沒有統(tǒng)計。Verilog HDL是專門為復 雜數(shù)字

13、邏輯電路和系統(tǒng)的設計仿真而開發(fā)的,本身就非常適合復雜數(shù)字邏輯電路和系 統(tǒng)的仿真和綜合。由于Verilog HDL在其門級描述的底層,也就是在晶體管開關的描 述方面比VHDL有強得多得功能,所以即使是VHDL的設計環(huán)境,在底層實質上也是由 Verilog HDL描述的器件庫所支持的。另外目前Verilog HDL-A標準還支持模擬電路 的描述,1998年即將通過的Verilog HDL新標準,將把Verilog HDL-A并入Verilog HDL 新標準,使其不僅支持數(shù)字邏輯電路的描述還支持模擬電路的描述,因此在混合信號 的電路系統(tǒng)的設計中,它必將會有更廣泛的應用。在亞微米和深亞微米ASIC和

14、高密度 FPGA已成為電子設計主流的今天,Verilog HDL的發(fā)展前景是非常遠大的。作者本人第二章Verilog HDL設計方法概述 的意見是:若要推廣采用硬件描述語言的設計方法,則應首先從推廣Verilog HDL開 始,然后再推廣VHDL。Verilog HDL較為適合系統(tǒng)級(System)、算法級(Alogrithem)、寄存器傳輸 級(RTL)、邏輯級(Logic)、門級(Gate)、電路開關級(Switch)設計,而對于特大型 (幾百萬門級以上)的系統(tǒng)級(System)設計,則VHDL更為適合,由于這兩種HDL語言 還在不斷地發(fā)展過程中,它們都會逐步地完善自己。采用Verilog

15、 HDL設計復雜數(shù)字電路的優(yōu)點2.5.1傳統(tǒng)設計方法-電路原理圖輸入法幾十年前,當時所做的復雜數(shù)字邏輯電路及系統(tǒng)的設計規(guī)模比較小也比較簡 單,其中所用到的FPGA或ASIC設計工作往往只能采用廠家提供的專用電路圖輸入工具 來進行。為了滿足設計性能指標,工程師往往需要花好幾天或更長的時間進行艱苦的 手工布線。工程師還得非常熟悉所選器件的內部結構和外部引線特點,才能達到設計 要求。這種低水平的設計方法大大延長了設計周期。近年來,F(xiàn)PGA和ASIC的設計在規(guī)模和復雜度方面不斷取得進展,而對邏輯電 路及系統(tǒng)的設計的時間要求卻越來越短。這些因素促使設計人員采用高水準的設計工 具,如:硬件描述語言(Ver

16、ilog HDL或VHDL)來進行設計。Verilog HDL設計法與傳統(tǒng)的電路原理圖輸入法的比較如2.5.1.所述采用電路原理圖輸入法進行設計,具有設計的周期長,需要專 門的設計工具,需手工布線等缺陷。而采用Verilog HDL輸入法時,由于Verilog HDL 的標準化,可以很容易地把完成的設計移植到不同的廠家的不同的芯片中去,并在不 同規(guī)模應用時可以較容易地作修改。這不僅是因為用Verilog HDL所完成的設計,它 的信號位數(shù)是很容易改變的,可以很容易地對它進行修改,來適應不同規(guī)模的應用, 在仿真驗證時,仿真測試矢量還可以用同一種描述語言來完成,而且還因為采用 Verilog HD

17、L綜合器生成的數(shù)字邏輯是一種標準的電子設計互換格式(EDIF)文件, 獨立于所采用的實現(xiàn)工藝。有關工藝參數(shù)的描述可以通過Verilog HDL提供的屬性 包括進去,然后利用不同廠家的布局布線工具,在不同工藝的芯片上實現(xiàn)。第二章Verilog HDL設計方法概述 采用Verilog HDL輸入法最大的優(yōu)點是其與工藝無關性。這使得工程師在功能 設計、邏輯驗證階段,可以不必過多考慮門級及工藝實現(xiàn)的具體細節(jié),只需要利用系 統(tǒng)設計時對芯片的要求,施加不同的約束條件,即可設計出實際電路。實際上這是利 用了計算機的巨大能力在EDA工具的幫助下,把邏輯驗證與具體工藝庫匹配、布線及 時延計算分成不同的階段來實現(xiàn)

18、從而減輕了人們的繁瑣勞動。Verilog HDL的標準化與軟核的重用Verilog HDL是在1983年由GATEWAY公司首先開發(fā)成功的,經過諸多改進,于 1995年11月正式被批準為IEEE標準1364。Verilog HDL的標準化大大加快了 Verilog HDL的推廣和發(fā)展。由于Verilog HDL設計方法的與工藝無關性,因而大大提高了 Verilog HDL模型的可重用性。我們 把功能經過驗證的、可綜合的、實現(xiàn)后電路結構總門數(shù)在5000門以上的Verilog HDL 模型稱之為“軟核”(Soft Core)。而把由軟核構成的器件稱為虛擬器件,在新電路的 研制過程中,軟核和虛擬器件

19、可以很容易地借助EDA綜合工具與其它外部邏輯結合為 一體。這樣,軟核和虛擬器件的重用性就可大大縮短設計周期,加快了復雜電路的設 計。目前國際上有一個叫作虛擬接口聯(lián)盟的組織(Virtual Socket Interface Alliance)來協(xié)調這方面的工作。軟核、固核和硬核的概念以及它們的重用上一節(jié)中我們已介紹了軟核的概念,下面再介紹一下固核(Firm Core)和硬 核(Hard Core)的概念。我們把在某一種現(xiàn)場可編程門陣列(FPGA)器件上實現(xiàn)的,經驗證是正確的 總門數(shù)在5000門以上電路結構編碼文件,稱之為“固核”。我們把在某一種專用半導體集成電路工藝的(ASIC)器件上實現(xiàn)的經驗

20、證是 正確的總門數(shù)在5000門以上的電路結構掩膜,稱之為“硬核”。顯而易見,在具體實現(xiàn)手段和工藝技術尚未確定的邏輯設計階段,軟核具有 最大的靈活性,它可以很容易地借助EDA綜合工具與其它外部邏輯結合為一體。當然, 由于實現(xiàn)技術的不確定性,有可能要作一些改動以適應相應的工藝。相比之下固核和 硬核與其它外部邏輯結合為一體的靈活性要差得多,特別是電路實現(xiàn)工藝技術改變時 更是如此。而近年來電路實現(xiàn)工藝技術的發(fā)展是相當迅速的,為了邏輯電路設計成果第二章Verilog HDL設計方法概述 的積累,和更快更好地設計更大規(guī)模的電路,發(fā)展軟核的設計和推廣軟核的重用技術 是非常有必要的。我們新一代的數(shù)字邏輯電路設

21、計師必須掌握這方面的知識和技術。采用硬件描述語言(Verilog HDL)的設計流程簡介自頂向下(Top-Down)設計的基本概念現(xiàn)代集成電路制造工藝技術的改進,使得在一個芯片上集成數(shù)十乃至數(shù)百萬 個器件成為可能,但我們很難設想僅由一個設計師獨立設計如此大規(guī)模的電路而不出 現(xiàn)錯誤。利用層次化、結構化的設計方法,一個完整的硬件設計任務首先由總設計師 劃分為若干個可操作的模塊,編制出相應的模型(行為的或結構的),通過仿真加以 驗證后,再把這些模塊分配給下一層的設計師,這就允許多個設計者同時設計一個硬 件系統(tǒng)中的不同模塊,其中每個設計者負責自己所承擔的部分;而由上一層設計師對 其下層設計者完成的設計

22、用行為級上層模塊對其所做的設計進行驗證。圖1-6-1為自 頂向下(TOP-DOWN)的示意圖,以設計樹的形式繪出。圖2-6-1. TOP_DOWN設計思想第二章Verilog HDL設計方法概述 自頂向下的設計(即TOP_DOWN設計)是從系統(tǒng)級開始,把系統(tǒng)劃分為基本單元, 然后再把每個基本單元劃分為下一層次的基本單元,一直這樣做下去,直到可以直接 用EDA元件庫中的元件來實現(xiàn)為止。對于設計開發(fā)整機電子產品的單位和個人來說,新產品的開發(fā)總是從系統(tǒng)設計入 手,先進行方案的總體論證、功能描述、任務和指標的分配。隨著系統(tǒng)變得復雜和龐 大,特別需要在樣機問世之前,對產品的全貌有一定的預見性。目前,ED

23、A技術的發(fā) 展使得設計師有可能實現(xiàn)真正的自頂向下的設計。層次管理的基本概念復雜數(shù)字邏輯電路和系統(tǒng)的層次化、結構化設計隱含著硬件設計方案的逐次分 解。在設計過程中的任意層次,硬件至少有一種描述形式。硬件的描述特別是行為描 述通常稱為行為建模。在集成電路設計的每一層次,硬件可以分為一些模塊,該層次 的硬件結構由這些模塊的互連描述,該層次的硬件的行為由這些模塊的行為描述。這 些模塊稱為該層次的基本單元。而該層次的基本單元又由下一層次的基本單元互連而 成。如此下去,完整的硬件設計就可以由圖2-6-1所示的設計樹描述。在這個設計樹 上,節(jié)點對應著該層次上基本單元的行為描述,樹枝對應著基本單元的結構分解。

24、在 不同的層次都可以進行仿真以對設計思想進行驗證。EDA工具提供了有效的手段來管 理錯綜復雜的層次,即可以很方便地查看某一層次某模塊的源代碼或電路圖以改正仿 真時發(fā)現(xiàn)的錯誤。具體模塊的設計編譯和仿真的過程在不同的層次做具體模塊的設計所用的方法也有所不同,在高層次上往往編寫 一些行為級的模塊通過仿真加以驗證,其主要目的是系統(tǒng)性能的總體考慮和各模塊的 指標分配,并非具體電路的實現(xiàn)。因而綜合及其以后的步驟往往不需進行。而當設計 的層次比較接近底層時行為描述往往需要用電路邏輯來實現(xiàn),這時的模塊不僅需要通 過仿真加以驗證,還需進行綜合、優(yōu)化、布線和后仿真。總之具體電路是從底向上逐 步實現(xiàn)的。EDA工具往

25、往不僅支持HDL描述也支持電路圖輸入,有效地利用這兩種方法 是提高設計效率的辦法之一。下面的流程圖簡要地說明了模塊的編譯和測試過程:從上圖可以看出,模塊設計流程主要由兩大主要功能部分組成:第二章Verilog HDL設計方法概述 1)設計開發(fā):即從編寫設計文件- 綜合到布局布線- 投片生成這樣一系 列步驟。2)設計驗證:也就是進行各種仿真的一系列步驟,如果在仿真過程中發(fā)現(xiàn) 問題就返回設計輸入進行修改。對應具體工藝器件的優(yōu)化、映象、和布局布線由于各種ASIC和FPFA器件的工藝各不相同,因而當用不同廠家的不同器件來實 現(xiàn)已驗證的邏輯網表(EDIF文件)時,就需要不同的基本單元庫與布線延遲模型與之

26、 對應才能進行準確的優(yōu)化、映象、和布局布線?;締卧獛炫c布線延遲模型由熟悉本 廠工藝的工程師提供,再由EDA廠商的工程師編入相應的處理程序,而邏輯電路設計 師只需用一文件說明所用的工藝器件和約束條件,EDA工具就會自動地根據(jù)這一文件 選擇相應的庫和模型進行準確的處理從而大大提高設計效率。小結采用Verilog HDL設計方法比采用電路圖輸入的方法更有優(yōu)越性,這就是為什 么美國等先進工業(yè)國家在進入九十年代以后紛紛采用HDL設計方法的原因。在兩種符 合IEEE標準的硬件描述語言中,Verilog HDL 與VHDL相比更加基礎、更易學習,掌握 HDL設計方法應從學習Verilog HDL設計方法開始。Verilog HDL可用于復雜數(shù)字邏輯 電路和系統(tǒng)的總體仿真、子系統(tǒng)仿真和具體電路綜合等各個設計階段。由于TOP_DOWN的設計方法是首先從系統(tǒng)設計入手,

溫馨提示

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

評論

0/150

提交評論