【文章內(nèi)容簡(jiǎn)介】
S y s t e m CC / C + +算 法 和 構(gòu) 架設(shè) 計(jì) 仿 真 工 具V H D LV e r i l o g H D LS y s t e m V e r i l o g設(shè) 計(jì) 輸 入 工 具R T L 檢 查 工 具驗(yàn) 證 工 具仿 真 工 具綜 合 數(shù) 據(jù) 庫S y s t e m V e r i l o g綜 合 工 具時(shí) 序 分 析 工 具驗(yàn) 證 工 具仿 真 工 具等 效 性 檢 查 工 具后 端 數(shù) 據(jù) 庫布 局 布 線 和參 數(shù) 提 取 工 具S y s t e m V e r i l o g 驗(yàn) 證 仿 真 工 具 圖 14 ASIC 設(shè)計(jì)流程和各個(gè)步驟所使用的軟件工具 EDA 技術(shù)與 VHDL 程序開發(fā)基礎(chǔ)教程 ? 8 ? CPLD/FPGA設(shè)計(jì) CPLD(Complex Programmable Logic Device,復(fù)雜可編程邏輯器 件 )和 FPGA(Field Programmable Garry Array,現(xiàn)場(chǎng)可編程門陣列 )隨著 EDA技術(shù)的發(fā)展已經(jīng)成為電子設(shè)計(jì)領(lǐng)域的重要角色,其應(yīng)用相當(dāng)廣泛,同時(shí)也是本書介紹的重點(diǎn)。高集成度、高速度和高可靠性是CPLD/FPGA最明顯的特點(diǎn)。 隨著工藝的進(jìn)步和特征尺寸的縮小,可編程器件的時(shí)鐘延時(shí)已經(jīng)小至 1ns甚至 ps 量級(jí),加上結(jié)合并行工作的方式, CPLD/FPGA 在超高速應(yīng)用領(lǐng)域和實(shí)時(shí)監(jiān)控方面有著非常廣闊的前景。與 ASIC設(shè)計(jì)相比, CPLD/FPGA最顯著的優(yōu)勢(shì)就是開發(fā)周期短、投資風(fēng)險(xiǎn)小、產(chǎn)品上市快和 硬件升級(jí)余地大。圖 15 給出了一個(gè) CPLD/FPGA的簡(jiǎn)要設(shè)計(jì)流程,可以看出,對(duì)工程師而言其工序相對(duì)于 ASIC設(shè)計(jì)有明顯的減少。 功 能 定 義( F u n c t i o n a l S p e c . )硬 件 描 述( H D L )布 局 和 布 線( P l a c e amp。 R o u t e )綜 合( S y n t h e s i s )下 載 驗(yàn) 證( D o w n l o a d amp。 V e r i f i c a t i o n )行 為 仿 真( B e h a v i o r a l S i m u l a t i o n )時(shí) 序 分 析( S t a t i c T i m i n g A n a l y s i s ) 圖 15 CPLD/FPGA 的一般設(shè)計(jì)流程 業(yè)內(nèi)的一些美國 IT 公司認(rèn)為,一個(gè) ASIC 設(shè)計(jì)的 80%的功能可用于 IP 核的構(gòu)建,而CPLD/FPGA僅僅是各類再應(yīng)用邏輯與 IP 核的拼裝,因而可以在很短時(shí)間內(nèi)完成十分復(fù)雜的設(shè)計(jì),使產(chǎn)品快速進(jìn)入市場(chǎng),搶占市場(chǎng)份額。這些特性使它的發(fā)展前景一片光明。 EDA 工程的設(shè)計(jì)流程 一 個(gè)完整的 EDA工程通常涉及系統(tǒng)建模、邏輯綜合、故障測(cè)試、功能仿真、時(shí)序分析、形式驗(yàn)證等內(nèi)容。而對(duì)于設(shè)計(jì)工程師而言,系統(tǒng)建模中的器件模型由生產(chǎn)廠商給出,工程師只需要完成系統(tǒng)設(shè)計(jì)、邏輯綜合、布局布線、仿真驗(yàn)證和下載測(cè)試幾個(gè)步驟。 第 1 章 EDA 概 述 ? 9 ? 設(shè)計(jì)輸入 計(jì)算輔助設(shè)計(jì)的作用就是省去了大量的圖紙并可以隨時(shí)隨地對(duì)當(dāng)前設(shè)計(jì)進(jìn)行更改,然后進(jìn)行加工制造,所以“設(shè)計(jì)輸入”是 EDA 技術(shù)中最基本也是非常重要的一環(huán)。舉一個(gè)簡(jiǎn)單的例子,假如有一棟樓房需要建造。首先,建筑設(shè)計(jì)師需要用各種設(shè)計(jì)圖紙把將要建造的建筑表示出來;之后,相關(guān)財(cái)務(wù) 根據(jù)設(shè)計(jì)進(jìn)行建筑預(yù)算;然后,根據(jù)具體的建筑設(shè)計(jì)圖紙和財(cái)務(wù)預(yù)算進(jìn)行施工策劃和融資;之后,建筑隊(duì)根據(jù)最終的施工圖進(jìn)行建造;當(dāng)然最后還要進(jìn)行最重要的一項(xiàng)就是“驗(yàn)收”,以保證所建筑的房屋符合設(shè)計(jì)要求和安全性。 由上可知,對(duì)于目標(biāo)器件為 FPGA/CPLD 的 EDA 工程設(shè)計(jì),其設(shè)計(jì)流程也應(yīng)該有相似的步驟。首先,對(duì)描述具體電子系統(tǒng)的源程序進(jìn)行“編輯輸入和編譯”,這些程序是用硬件描述語言編寫,通過特定的邏輯表達(dá)手段將目標(biāo)系統(tǒng)表示出來;然后, EDA會(huì)通過相關(guān)的算法對(duì)源程序進(jìn)行“邏輯綜合”,這個(gè)步驟可以理解為將第一步生成的邏輯表 達(dá)式進(jìn)行一系列的分解和優(yōu)化,以形成更加簡(jiǎn)單的邏輯表達(dá)式如“與或非”;接下來, EDA軟件將“邏輯綜合”生成的一系列邏輯表達(dá)式對(duì)應(yīng)于目標(biāo)器件 FPGA/CPLD 進(jìn)行“布線和適配”,即利用網(wǎng)表表示在具體的邏輯器件中實(shí)現(xiàn)“邏輯綜合”所生成的邏輯關(guān)系表達(dá)式;之后,工程師利用EDA軟件提供的“編程下載”功能將前面生成的網(wǎng)表變成具體的電路,即物理實(shí)現(xiàn);最后,和“驗(yàn)收”一樣,工程師需要對(duì)實(shí)現(xiàn)的硬件系統(tǒng)進(jìn)行硬件仿真和測(cè)試以檢測(cè)所實(shí)現(xiàn)的系統(tǒng)能否滿足設(shè)計(jì)需求。值得注意的是,在設(shè)計(jì)過程中和設(shè)計(jì)完成后還要進(jìn)行大量的“仿真測(cè)試”,尤其是 比較復(fù)雜且龐大的系統(tǒng),其測(cè)試向量將會(huì)變得非常大,這樣就會(huì)導(dǎo)致測(cè)試時(shí)間過長(zhǎng),工作量很可能超過一個(gè)人年。所以測(cè)試方法學(xué)也是一個(gè)值得研究的方向,由于本書的局限性,請(qǐng)讀者參考其他測(cè)試方法學(xué)相關(guān)的書籍。圖 14 給出了具體的 EDA 設(shè)計(jì)流程,接下來將以VHDL 為例按步驟詳細(xì)介紹各個(gè)過程。 1. 源程序的編輯和編譯 利用 EDA 技術(shù)進(jìn)行工程設(shè)計(jì),首先要做的就是將目標(biāo)系統(tǒng)用文本方式或者圖形方式表示出來,然后進(jìn)行排錯(cuò)編譯,變成工程師熟悉的 VHDL格式,為下一步的“邏輯綜合”做準(zhǔn) 備。 2. 常用的輸入方法 常用的輸入方法有三種,其 中原理圖輸入和文本輸入為大多數(shù) EDA 設(shè)計(jì)軟件所支持;狀態(tài)機(jī)輸入方式比較有創(chuàng)意, EDA 軟件可以直接將狀態(tài)圖自動(dòng)轉(zhuǎn)變成可編譯下載的 VHDL程序,大大簡(jiǎn)化了狀態(tài)機(jī)設(shè)計(jì)的步驟,非常流行。 值得一提的是原理圖設(shè)計(jì)方法,當(dāng)目標(biāo)系統(tǒng)不是非常龐大時(shí),這種設(shè)計(jì)方法很有幫助,易讀性強(qiáng),有利于提高工作效率。但是,當(dāng)目標(biāo)系統(tǒng)變得很大時(shí),這種設(shè)計(jì)方法會(huì)使設(shè)計(jì)圖變得密密麻麻,走線也非常繁雜,反而降低了易讀性,很難搞清電路的實(shí)際功能,從而導(dǎo)致EDA 技術(shù)與 VHDL 程序開發(fā)基礎(chǔ)教程 ? 10 ? 相應(yīng)設(shè)計(jì)移植、入檔和交流都很困難,不利于團(tuán)隊(duì)合作。因此,作者比較支持傳統(tǒng)的文本輸入方式,這種方式 最普遍,任何支持 VHDL 的 EDA工具都會(huì)支持文本方式的編輯和編譯。圖 16 更加具體地描述了 VHDL 開發(fā) FPGA/CPLD 電子系統(tǒng)的流程。 V H D L 仿 真 器( S i m u l a t o r )行 為 仿 真( B e h a v i o u r )功 能 仿 真( F u n c t i o n a l )時(shí) 序 仿 真( T i m i n g A n a l y s i s )文 本 編 輯 器( T e x t E d i t o r )圖 形 編 輯 器( G r a p h E d i t o r )生 成 V H D L 源 程 序( V H D L S o u r c e C o d e )V H D L 綜 合 器( S y n t h e s i s )綜 合 / 優(yōu) 化( O p t i m i z a t i o n )各 種 網(wǎng) 表 文 件 ,如 E D I F 、 X N F 、 V H D L 等( N e t l i s t s )F P G A / C P L D 布 線 和 適 配( P l a c e amp。 R o u t e )適 配 的 自 動(dòng) 優(yōu) 化( O p t i m i z a t i o n )門 級(jí) 仿 真 器 功 能 仿 真( P o s t S i m u l a t i o n )