多種EDA工具的FPGA協(xié)同設(shè)計(jì)[轉(zhuǎn)帖]
摘 要:在FPGA開(kāi)發(fā)的各個(gè)階段,市場(chǎng)為我們提供了很多優(yōu)秀的EDA工具。面對(duì)眼花繚亂的EDA工具,如何充分利用各種工具的特點(diǎn),并規(guī)劃好各種工具的協(xié)同使用,對(duì)FPGA開(kāi)發(fā)極其重要。本文將通過(guò)開(kāi)發(fā)實(shí)例“帶順序選擇和奇偶檢驗(yàn)的串并數(shù)據(jù)轉(zhuǎn)換接口”來(lái)介紹基于多種EDA工具——QuartusII、FPGA CompilerII、Modelsim——的FPGA協(xié)同設(shè)計(jì)。
關(guān)鍵詞:FPGA;EDA;協(xié)同設(shè)計(jì)
一、前言
FPGA在電子市場(chǎng)上占有舉足輕重的地位。現(xiàn)在的問(wèn)題是:現(xiàn)在市場(chǎng)在FPGA開(kāi)發(fā)方面的EDA工具令人眼花繚亂,各自側(cè)重點(diǎn)不同,性能也不一樣,我們應(yīng)該如何選擇?為了加速FPGA的開(kāi)發(fā),選擇并協(xié)調(diào)好各種EDA工具顯得非常重要,本文將探討上述問(wèn)題并給出一種解決方案。本文以Altera公司的FPGA為目標(biāo)器件,通過(guò)開(kāi)發(fā)實(shí)例介紹FPGA開(kāi)發(fā)的完整的流程及開(kāi)發(fā)過(guò)程中使用到的開(kāi)發(fā)工具,包括QuartusII、FPGA CompilerII、Modelsim,并重點(diǎn)解說(shuō)如何使用這三個(gè)工具進(jìn)行協(xié)同設(shè)計(jì)。
二、FPGA的開(kāi)發(fā)流程及實(shí)例
FPGA的開(kāi)發(fā)分為設(shè)計(jì)輸入、功能仿真、設(shè)計(jì)綜合、前仿真、布局布線、時(shí)序仿真、時(shí)序分析和編程下載幾個(gè)步驟。設(shè)計(jì)流程如圖1所示。

我們的開(kāi)發(fā)實(shí)例是“帶順序選擇和奇偶檢驗(yàn)的串并數(shù)據(jù)轉(zhuǎn)換接口”。接口電路可以實(shí)現(xiàn)數(shù)據(jù)的串并轉(zhuǎn)換,并根據(jù)控制信號(hào)確定輸出的并行數(shù)據(jù)的順序,以及輸出奇偶檢驗(yàn)位。開(kāi)發(fā)實(shí)例是用來(lái)說(shuō)明FPGA的開(kāi)發(fā)流程和各種EDA工具的協(xié)同設(shè)計(jì),因此這里的描述重點(diǎn)并在設(shè)計(jì)本身。開(kāi)發(fā)實(shí)例使用的目標(biāo)器件是Altera公司FLEX10KE系列的EPF10K30ETC114-1;開(kāi)發(fā)軟件有QuartusII2.0、FPGA CompilerII 3.6和Modelsim5.6SE。
Quartus II是Altera公司的第四代可編程邏輯器件集成開(kāi)發(fā)環(huán)境,提供從設(shè)計(jì)輸入到器件編程的全部功能。 Quartus II可以產(chǎn)生并識(shí)別EDIF網(wǎng)表文件、VHDL網(wǎng)表文件和Verilog HDL網(wǎng)表文件,為其他EDA工具提供了方便的接口;可以在Quartus II集成環(huán)境中自動(dòng)運(yùn)行其他EDA工具。 Mentor Graphics公司的Modelsim是業(yè)界較好的仿真工具,其仿真功能強(qiáng)大,且圖形化界面友好,而且具有結(jié)構(gòu)、信號(hào)、波形、進(jìn)程、數(shù)據(jù)流等窗口。 FPGA Compiler II是一個(gè)完善的FPGA邏輯分析、綜合和優(yōu)化工具,它從HDL形式未優(yōu)化的網(wǎng)表中產(chǎn)生優(yōu)化的網(wǎng)表文件,包括分析、綜合和優(yōu)化三個(gè)步驟。
如果設(shè)計(jì)的硬件系統(tǒng)不是很大,對(duì)綜合和仿真的要求不是很高,我們完全可以在Quartus II中完成設(shè)計(jì)。實(shí)際上,這個(gè)開(kāi)發(fā)實(shí)例完全可以在Quartus II這個(gè)集成的開(kāi)發(fā)環(huán)境中完成。下面,我先介紹一下如何在Quartus II中完成設(shè)計(jì),然后再介紹如何利用Quartus II提供的第三方EDA工具的接口與其他EDA工具(包括綜合工具FPGA Compiler II和仿真工具M(jìn)odelSim5.6SE)完成協(xié)同設(shè)計(jì)。
1. 基于Quartus II的FPGA的開(kāi)發(fā) 利用Quartus II軟件的開(kāi)發(fā)流程可概括為以下幾步:設(shè)計(jì)輸入、設(shè)計(jì)編譯、設(shè)計(jì)時(shí)序分析、設(shè)計(jì)仿真和器件編程。
(1)設(shè)計(jì)輸入 Quartus II軟件在File菜單中提供“New Project Wizard...”向?qū),引?dǎo)設(shè)計(jì)者完成項(xiàng)目的創(chuàng)建。當(dāng)設(shè)計(jì)者需要向項(xiàng)目中添加新的VHDL文件時(shí),可以通過(guò)“New”選項(xiàng)選擇添加。在這里我們創(chuàng)建項(xiàng)目“s_to_p”,編寫“s_to_p.vhd文件”,并將文件添加到項(xiàng)目中。
(2)設(shè)計(jì)編譯 Quartus II編譯器完成的功能有:檢查設(shè)計(jì)錯(cuò)誤、對(duì)邏輯進(jìn)行綜合、提取定時(shí)信息、在指定的Altera系列器件中進(jìn)行適配分割,產(chǎn)生的輸出文件將用于設(shè)計(jì)仿真、定時(shí)分析及器件編程。
①首先確定軟件處于Compile Mode,可以通過(guò)Processing菜單進(jìn)行選擇。 ②在Processing菜單中選擇Compiler Settings項(xiàng)。在這里可以進(jìn)行器件選擇、模式設(shè)定、綜合和適配選項(xiàng)設(shè)定及設(shè)計(jì)驗(yàn)證等。我們選擇FLEX10KE系列型號(hào)為EPF10K30ETC114-1的器件,并選擇在編譯后進(jìn)行時(shí)序分析。 ③單擊Processing菜單下的“Start |