<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 針對微控制器應用的采用FPGA的嵌入式應用

針對微控制器應用的采用FPGA的嵌入式應用

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò ) 收藏


導航系統采用微控制器調整系統的圖像顯示器,根據微控制器的輸入提高或降低分辨率。

圖3中的設計展示了一個(gè)片上系統的實(shí)現,包括微控制器、外圍總線(xiàn)和幾種外設功能,以及用于顯示寄存器文檔、暫存存儲器、調用棧、程序計數器、標記和跟蹤列表的硬件跟蹤調試器。同時(shí)還支持微控制器的單步、多步和斷點(diǎn)功能。

片上系統的例子可用來(lái)說(shuō)明設計工具流程和實(shí)現(圖4)。




圖4:片上系統的軟件開(kāi)發(fā)流程及硬件開(kāi)發(fā)流程

微控制器工具和實(shí)現

FPGA微控制器的高效率和緊湊實(shí)現使得2280 LUT MachXO器件可用于說(shuō)明圖3中片上系統的設計。

啟動(dòng)該設計的最簡(jiǎn)單方法是參考“快速啟動(dòng)指南”或項目向導一步一步地設計FPGA。一旦設計項目創(chuàng )建好,下一步就是編寫(xiě)微控制器程序。C或匯編語(yǔ)言是目前最流行的MCU編程語(yǔ)言。圖5顯示了用匯編語(yǔ)言編寫(xiě)的I2C Slave程序塊。





圖5:匯編代碼實(shí)例

必須對微控制器的每個(gè)單元進(jìn)行分析以決定要執行的操作。如代碼實(shí)例所示,I2C寫(xiě)循環(huán)具有5種操作:讀狀態(tài)、寫(xiě)器件地址、寫(xiě)數據、寫(xiě)字地址及返回。請注意代碼都加上了注釋。

雖然匯編語(yǔ)言的規范在各種MCU上大多是一致的,但設計者還是應該查閱供應商的MCU指令集文檔,以了解哪些操作是得到支持的。將匯編源代碼轉換到ROM初始化文件的匯編程序是由命令行驅動(dòng)的,和指令集仿真器一樣,這可以通過(guò)匯編器供應商工具套件獲得或者從網(wǎng)上下載。其中有些工具是作為開(kāi)放源代碼工具提供。例如,LatticeMico8微控制器IP(知識產(chǎn)權)就是作為開(kāi)放源代碼提供,這是實(shí)現嵌入式微控制器的一種獨特有效途徑,可使用戶(hù)擁有最大的靈活性。

嵌入式微控制器IP可以描述整個(gè)設計,或者作為一個(gè)大型設計的一部分與附加代碼結合在一起。尋找一種有助于設計HDL調試和規則檢查的工具是非常明智的。這種工具會(huì )生成該設計的分層結構和互連性的圖形表示。用戶(hù)可以通過(guò)各種圖形和分層結構來(lái)觀(guān)察設計,并利用智能工具交互探測視圖以發(fā)現各種問(wèn)題。




圖6:設計視圖—HDL調試工具

這對于IP集成的維護和復雜FPGAHDL設計的重設計都是很有用的,IP集成需要全面深入的途徑進(jìn)行設計分析和管理。相比傳統仿真器或綜合工具,這種工具可以實(shí)現設計結構的更高層抽象。這有助于創(chuàng )建并管理文檔以及分析設計結構,從而極大地減少了花費在這些項目上的設計時(shí)間。

功能仿真

功能仿真首先創(chuàng )建一個(gè)工作庫,設計被編譯到該工作庫中。仿真器通過(guò)圖形用戶(hù)接口、菜單或命令行使該過(guò)程更加順利。這其中包含了設計文檔和測試向量(test bench)。測試向量實(shí)例化該設計,并將數據加載到輸入端。當運行設計時(shí),測試向量被應用于該設計并顯示結果(通常以波形的形式)進(jìn)行分析。

可利用各種仿真器實(shí)現設計的功能仿真。如果已對整個(gè)系統建模,則可以在系統級進(jìn)行功能仿真,或者對單個(gè)設計單元進(jìn)行仿真以確保正確的語(yǔ)法和功能已在RTL級建模。在這種特殊情況下,有兩家OEM的仿真器可供選擇。Aldec公司的Active-HDL Lattice Designer Edition Lite是一種附加的仿真環(huán)境。它不但提供混合語(yǔ)言VHDL和Verilog仿真,還可提供面向FPGA設計的可選設計流程。另一種選擇是MentorGraphics的ModelSim,它能夠提供VHDL和Verilog語(yǔ)言以及門(mén)級時(shí)序仿真,以對設計



進(jìn)行完整的仿真和分析。

綜合

一旦完成功能仿真,下一步就是綜合。綜合可以用獨立的方式完成,或者在供應商的項目導航工具中作為后臺函數運行。綜合獲取設計、進(jìn)行邏輯優(yōu)化并實(shí)現工藝映射。獨立模式綜合的步驟包括建立項目、加入源文件、設置約束、運行設計和分析結果。約束是綜合的實(shí)現選項,例如扇出限制、使用全局置位/復位。屬性則附屬于對象,以控制其依附的特定對象的優(yōu)化、映射和分析。目前可提供兩種領(lǐng)先的綜合工具。

Precision RTL綜合工具是Mentor Graphics公司的重要RTL綜合解決方案。利用Precision RTL界面可以很容易地獲取有用的特性和工具,例如示意圖(RTL/工藝)觀(guān)察器、約束分析器、PreciseTime(用于高級時(shí)序分析)、支持時(shí)序調整(re-timing)等等。這些高級工具有助于改進(jìn)效率并最終優(yōu)化結果。

Synplicity公司的Synplify綜合工具是一款高性能、復雜的邏輯綜合引擎,它利用專(zhuān)有的行為提取綜合技術(shù)(Behavior Extracting Synthesis Technology)提供快速、高效的FPGA和CPLD設計。簡(jiǎn)單的用戶(hù)接口和強大的綜合引擎結合在一起能迅速提供優(yōu)化的結果。


關(guān)鍵詞: 微控制器FPGA嵌入式應

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>