燒程式測試記錄Day1

2021-07-30 20:00:07 字數 2076 閱讀 8847

fpga==》燒flash--->開發板連線jtag介面

燒微控制器---->開發板連線swd介面

fpga鏈結

fpga(field-programmable gate array),即現場可程式設計門陣列,它是在pal、gal、cpld等可

程式設計器件的基礎上進一步發展的產物。它是作為

專用積體電路

(asic)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可

程式設計器件閘電路數有限的缺點。

以硬體描述語言(

verilog

或vhdl

)所完成的

電路設計,可以經過簡單的綜合與布局,快速的

燒錄至 fpga 上進行測試,是現代 ic

設計驗證

的技術主流。

這些可編輯元件可以被用來實現一些基本的邏輯門

電路(比如and、or、xor、not)或者更複雜一些的組合功能比如解碼器或數學方程式。在大多數的fpga裡面,這些可編輯的元件裡也包含記憶元件例如

觸發器(flip-flop)或者其他更加完整的記憶塊。

系統設計師可以根據需要通過可編輯的連線把fpga內部的邏輯塊連線起來,就好像乙個電路試驗板被放在了乙個晶元裡。乙個出廠後的成品fpga的邏輯塊和連線可以按照設計者而改變,所以fpga可以完成所需要的邏輯功能。

fpga一般來說比asic(專用積體電路)的速度要慢,實現同樣的功能比asic電路面積要大。但是他們也有很多的優點比如可以快速成品,可以被修改來改正程式中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的fpga。因為這些晶元有比較差的可編輯能力,所以這些設計的開發是在普通的fpga上完成的,然後將設計轉移到乙個類似於asic的晶元上。另外一種方法是用cpld(complex programmable logic device,複雜可程式設計邏輯器件)。

1)採用fpga設計asic電路(專用積體電路),使用者不需要投片生產,就能得到合用的晶元。

2)fpga可做其它全定製或半定製asic電路的中試樣片。

3)fpga內部有豐富的觸發器和i/o引腳。

4)fpga是asic電路中設計週期最短、開發費用最低、風險最小的器件之一。

5) fpga採用高速cmos工藝,功耗低,可以與cmos、ttl電平相容。

可以說,fpga晶元是小批量系統提高系統整合度、可靠性的最佳選擇之一。

fpga是由存放在片內ram中的程式來設定其工作狀態的,因此,工作時需要對片內的ram進行程式設計。使用者可以根據不同的配置模式,採用不同的程式設計方式。

加電時,fpga晶元將eprom中資料讀入片內程式設計ram中,配置完成後,fpga進入工作狀態。掉電後,fpga恢復成白片,內部邏輯關係消失,因此,fpga能夠反覆使用。fpga的程式設計無須專用的fpga程式設計器,只須用通用的eprom、prom程式設計器即可。當需要修改fpga功能時,只需換一片eprom即可。這樣,同一片fpga,不同的程式設計資料,可以產生不同的電路功能。因此,fpga的使用非常靈活。

fpga的開發相對於傳統pc、微控制器的開發有很大不同。fpga以並行運算為主,以硬體描述語言來實現;相比於pc或微控制器(無論是馮諾依曼結構還是哈佛結構)的順序操作有很大區別,也造成了fpga開發入門較難。目前國內有專業的fpga外協開發廠家,如[北京中科鼎橋zkdq-tech]等。fpga開發需要從頂層設計、模組分層、邏輯實現、軟硬體除錯等多方面著手。

早在2023年代中期,fpga已經在pld裝置中扎根。cpld和fpga包括了一些相對大數量的可編輯邏輯單元。cpld邏輯門的密度在幾千到幾萬個邏輯單元之間,而fpga通常是在幾萬到幾百萬。

cpld和fpga的主要區別是他們的系統結構。cpld是乙個有點限制性的結構。這個結構由乙個或者多個可編輯的結果之和的邏輯組列和一些相對少量的鎖定的暫存器組成。這樣的結果是缺乏編輯靈活性,但是卻有可以預計的延遲時間和邏輯單元對連線單元高比率的優點。而fpga卻是有很多的連線單元,這樣雖然讓它可以更加靈活的編輯,但是結構卻複雜的多。

cpld和fpga另外乙個區別是大多數的fpga含有高層次的內建模組(比如加法器和乘法器)和內建的記憶體。因此乙個有關的重要區別是很多新的fpga支援完全的或者部分的系統內重新配置。允許他們的設計隨著系統公升級或者動態重新配置而改變。一些fpga可以讓裝置的一部分重新編輯而其他部分繼續正常執行。

go學習記錄 day1

1 var a int a 100 2 var b int 100 3 var c 100 4 d 100const b int 10 const a iotabc d fmt.println a,b,c,d 列印結果為0,1,2,3func f1 a string b int 返回空值 func ...

效能測試培訓day1

測試本質 1構造測試資料和期望結果 2執行 3驗證 自動化測試 寫完 單元測試測 邏輯,單元測試搞清楚 邏輯就行了 白盒測試 先靜態,執行前用工具掃瞄bug例如 a 11寫成a 11 再動態,程式執行起來測試,用單元測試框架 unittest等 整合測試,兩個函式,兩個子系統,兩個介面。粒度可大可小...

小程式學習 day1

先介紹下小程式的目錄結構 1 icon 我是用來存icon素材 js 存放js檔案的地方 json 寫頁面全域性樣式的地方 wxml 類似html vue 寫頁面標籤的地方 wxss 類似css 寫頁面樣式的地方 我這裡新建的四個頁面。cat god index panda panda.js 相關學...