FPGA數(shù)字電路設計本質(zhì)是硬件開發(fā)范疇,只是用硬件描述語言作為設計輸入方式而已翰撑。既然屬于硬件開發(fā)罩旋,就需要在開發(fā)之前,了解FPGA所集成的片上資源眶诈,以及各block塊的劃分涨醋,各block塊的供電電壓,電路連接方式逝撬,F(xiàn)PGA上的固定功能I/O端口浴骂,能自由分配的I/O端口等。尤其FPGA上集成了的宏單元宪潮,查找表溯警、邏輯單元趣苏,大量的觸發(fā)器資源。
FPGA電路設計是對已有電路邏輯的描述梯轻,有不同的描述方法食磕,比如:系統(tǒng)級描述、行為級描述喳挑、寄存器級描述芬为、門級描述等。描述時同樣遵從模塊化設計蟀悦、自頂向下設計媚朦、自底向上設計方式。在我們按照FPGA項目設計流程完成功能需求日戈、功能劃分询张、詳細設計方案等工作后,就可以著手進行開發(fā)了浙炼。
FPGA開發(fā)有原理圖開發(fā)方式和文本開發(fā)方式兩種份氧,也可以混合設計,究竟哪種開發(fā)方式需要考慮多種因素弯屈,甚至于速度與面積的小心斟酌蜗帜。
FPGA電路設計項目開發(fā)過程中,時序約束是非常重要的资厉,剛入門的開發(fā)者很難做到對設計時序的準確把握厅缺,需要大量的項目經(jīng)驗積累。
現(xiàn)在開發(fā)FPGA的工具越來越多宴偿,越來越好用,比如基于IP核開發(fā)娩践、基于DSP Builder開發(fā),實際開發(fā)中的工具有Quartus Primer未妹、ISE、Vivado单料、Matlab换怖、Labview等铸屉。選擇的語言更多小压,Verilog-2001瘾婿、VHDL笛谦、system-C、AHDL等等乳附,甚至于C++也可以了举农。