【正文】
? EDA軟件方面,大體可以分為兩類: 1. PLD器件廠商提供的 EDA工具。較著名的如: I. Altera公司的 Max+plus II和 Quartus II、 II. Xilinx公司的 Foundation Series、 III. LaticeVantis公司的 ispEXERT System。 2. 第三方專業(yè)軟件公司提供的 EDA工具。常用的有: I. Synopsys公司的 FPGA Compiler II、 II. Exemplar Logic公司的 LeonardoSpectrum、 III. Synplicity公司的 Synplify。 ? 第三方工具軟件 是對(duì) CPLD/FPGA生產(chǎn)廠家開(kāi)發(fā)軟件的補(bǔ)充和優(yōu)化,如通常認(rèn)為 Max+plus II和 Quartus II對(duì)VHDL/Verilog HDL邏輯綜合能力不強(qiáng),如果采用專用的HDL工具進(jìn)行邏輯綜合,會(huì)有效地提高綜合質(zhì)量。 ALTERA 公司的 EDA合作伙伴 硬件描述語(yǔ)言:起源 ? 是電子電路的文本描述。 ? 最早的發(fā)明者: 美國(guó)國(guó)防部, VHDL,1983 ? 大浪淘沙,為大者二: VHDL 和 Verilog HDL ? 其他的小兄弟: ABEL、 AHDL、 System Verilog、 System C。 一個(gè) D觸發(fā)器的 VHDL代碼例子 1. VHDL code position: p83_ex4_11_DFF1 2. 3. LIBARY IEEE。 4. USE 。 5. ENTITY DFF1 IS 6. PORT ( CLK : IN BIT。 7. D : IN BIT。 8. Q : OUT BIT 9. )。 10. END ENTITY DFF1。 11. ARCHITECTURE bhv OF DFF1 IS 12. BEGIN 13. PROCESS(CLK) 14. BEGIN 15. IF CLK39。EVENT AND (CLK=39。139。) AND ( CLK39。LAST_VALUE = 39。039。) THEN 16. 嚴(yán)格的 CLK信號(hào)上升沿定義 17. Q = D。 18. END IF。 19. END PROCESS。 20. END ARCHITECTURE bhv。 代碼實(shí)體( 5- 10) 代碼結(jié)構(gòu)體( 11- 20) 如何使用 VHDL來(lái)設(shè)計(jì)電路? ? VHDL設(shè)計(jì)電路的的 5步曲 1. 語(yǔ)言編碼 2. 邏輯綜合 3. 功能和時(shí)序仿真 4. 器件適配 5. 使用 MAX+PLUS II軟件的設(shè)計(jì)過(guò)程 MAX+PLUS II設(shè)計(jì)過(guò)程說(shuō)明 1. Compiler Netlist Extractor(編譯器網(wǎng)表提取器) : ? 通過(guò)該過(guò)程生成設(shè)計(jì)項(xiàng)目的網(wǎng)表文件 , 2. Database Builder(數(shù)據(jù)庫(kù)構(gòu)建器 ): ? 用于將所有的設(shè)計(jì)文件集成到項(xiàng)目數(shù)據(jù)庫(kù)中 ? 如果指定端口的實(shí)體已被抽取 . 則從盤(pán)中讀取 . f文件信息就可以了 , 因而節(jié)省了時(shí)間 . 3. Logic Synthesizer (邏輯綜合器 ): ? 選擇合適的邏輯化簡(jiǎn)算法 , ? 去除冗余和無(wú)用邏輯 , ? 有效使用器件的邏輯資源 . 4. Fitter(適配器 ) ? 將電路適配到某個(gè) PLD器件中。 5. Timing SNF Extractor(時(shí)序 SNF文件提取器 ) ? 產(chǎn)生用于時(shí)序仿真的網(wǎng)表文件 6. Assembler(匯編器) ? 產(chǎn)生用于器件編程的目標(biāo)代碼 其他的 HDL綜合工具 ? Altera公司 1. MAX+PLUS II (已經(jīng)停止發(fā)行,新器件不支持) 2. QUARTUS II (推薦使用) ? Xilinx 公司 1. ISE : Xilinx公司集成開(kāi)發(fā)的工具 2. Foundation: Xilinx公司早期開(kāi)發(fā)工具,逐步被 ISE取代 3. ISE Webpack: Webpack是 xilinx提供的免費(fèi)開(kāi)發(fā)軟件,功能比 ISE少一些,可以從 xilinx網(wǎng)站下載 有了 HDL語(yǔ)言后? 硬件設(shè)計(jì)人員 的工作過(guò)程 已經(jīng) 類似與 軟件設(shè)計(jì)人員 ,那么 這種模式的好處是? 讓 我們先看看原來(lái)是如何做的- Compiler Netlist Extractor (編譯器網(wǎng)表提取器) ? The Compiler module that converts each design file in a project (or each cell of an EDIF Input File) into a separate binary CNF. The filename(s) of the CNF(s) are based on the project name. Example ? The Compiler Netlist Extractor also creates a single HIF that documents the hierarchical connections between design files. ? This module contains a builtin EDIF Netlist Reader, Verilog Netlist Reader, VHDL Netlist Reader, and converters that translate ADFs and SMFs for use with MAX+PLUS II. ? During list extraction, this module checks each design file for problems such as duplicate node names, missing inputs and outputs, and outputs that are tied together. ? 返回 Database Builder(數(shù)據(jù)庫(kù)構(gòu)建器 ): ? The Compiler module that builds a single, fully flattened project database that integrates all the design files in a project hierarchy. ? The Database Builder uses the HIF to link the CNFs that describe the project. Based on t