zynq 和fpga區別 FPGA入門指引

2021-10-12 00:05:12 字數 2168 閱讀 8449

很久沒更新了,今天不談fpga器件特性,出一篇對廣大初學者們友好點的入門指引。

首先強調一點,

初學fpga不需要買開發板!但必須要會**除錯!

初學fpga不需要買開發板!但必須要會**除錯!

初學fpga不需要買開發板!但必須要會**除錯!

重要的事情說三遍

首先國際慣例,先上一張fpga入門的思維導圖

fpga入門思維導圖

一、verilog

1.理解input、output、 wire、 reg、inout、parameter 這些宣告在**中的作用。

2.理解組合邏輯,時序邏輯

assign a = b & c ; //組合邏輯

/always@(posedge clk)

a_dly <= a ; //時序邏輯

always@(posedge clk)

a <= b & c ; //時序邏輯與組合邏輯混合 。

// b & c 是組合邏輯操作 ,

//將其得到得結果打一拍傳給a ,這就是時序邏輯操作。

3.理解generator , task , function。讓自己的**更簡潔 並且 更具有可移植性。

4.學習書上的模組**,多看多寫。只看不寫很多時候都是,噢~腦子會告訴你你學會了,但雙手一碰鍵盤,啥都寫不出來。 推薦大家在寫的過程中盡可能聯想到1 、2 、3點的內容。

二、**

**分為多個階段,不同階段所關注的事務也不同 。這裡我主要講的是行為級**,以及綜合後的**

1.看波形,主要看關鍵輸出波形與自己的預期是否相符,在行為級**階段不符的化就要回去修改下**,修改到它與自己預期相符為止。

2.看日誌,調網表。看日誌主要是針對行為級**ok,但綜合後的**不ok的情況。這種情況主要是資源被eda軟體在綜合過程中優化掉所造成的,通常日誌和網表中就會指出哪些資源被優化掉。對於被優化掉的資源,我們可以通過keep 或者 修改綜合策略來將其保留。

3.寫測試用例,在關鍵訊號較多的情況下,單單看波形會讓你「眼花繚亂」。這時候我們就需要寫**,讓**軟體自己去比對輸出訊號與自己的預期是否相符,而不是人為的乙個個去看。當然,大公司裡一般都是對測試用例有嚴格要求~,個人玩家嘛,滿足自己需求就好。

三、協議(多看手冊!多看手冊!多看手冊!)

現在的模組,為了讓設計更加通用,讓更多的開發者快速上手呼叫。幾乎都是按照各種各樣的標準協議來做,所以協議的學習是fpga學習不可或缺的一部分。在協議學習過程中,我們要學會看時序圖,掌握各種協議間套路(找出不同的協議間都有哪些共性)。

1.對於uart i2c spi這些非常常用卻又很基礎的協議。初學者必須要做到不看參考**,只看時序圖和訊號介紹手敲一遍驅動**,****,這樣才能讓你快速吸收這些協議中的內容。

2.對於pll ram fifo這些基本的ip,我們需要熟練掌握其使用技巧。

3.學會使用apb、axi。很多fpga廠家的ip應用層都是將它封裝成axi這種形式,如果單純的應用開發的話,學會這axi幾乎可以做到一招鮮,吃遍天。

4.根據自己的需求

5.多看廠家example design,模仿廠家**的風格,讓自己的設計更加的通用。

四、後端

1.深入掌握eda軟體使用方法,懂的如何去選擇符合自己設計需求的綜合、實現策略。

2.學會看綜合 、實現後的schematic,chip view,utilization的結果,並根據結果去優化自己的設計。

寫這篇文章主要是針對偏向於應用的入門者

jasper灬蘭:fpga從入門到精通(1) - 前序​zhuanlan.zhihu.com

最近加班有點多,更的特別慢,各位客官大老爺抱歉啦~

FPGA 對FPGA的理解

該文章主要描述對fpga的理解及其在嵌入式開發中fpga的配合問題。1 fpga的設計流程 fpga field programmable gate array 是一種可程式設計的邏輯電路,可以通過硬體描述語言verilog或者vhdl實現邏輯電路的設計。其設計流程如下 其中,功能 又可以稱為前 主...

微控制器和FPGA的區別

採用fpga設計asic電路 專用積體電路 使用者不需要投片生產,就能得到合用的晶元。fpga可做其它全定製或半定製asic電路的中試樣片。fpga內部有豐富的觸發器和i o引腳。fpga是asic電路中設計週期最短 開發費用最低 風險最小的器件之一。fpga採用高速cmos工藝,功耗低,可以與cm...

FPGA與CPLD的區別

儘管fpga和cpld都是可程式設計asic器件,有很多共同特點,但由於cpld和fpga結構上的差異,具有各自的特點 cpld更適合完成各種演算法和組合邏輯,fp ga更適合於完成時序邏輯。換句話說,fpga更適合於觸發器豐富的結構,而cpld更適合於觸發器有限而乘積項豐富的結構。cpld的連續式...