日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > EDA > 電子設計自動化
[導讀]摘要:在SoC開發(fā)過程中,基于FPGA的原型驗證是一種有效的驗證方法,它不僅能加快SoC的開發(fā),降低SoC應用系統(tǒng)的開發(fā)成本,而且提高了流片的成功率。文章主要描述了基于FPGA的SoC原型驗證的設計與實現(xiàn),針對FPGA基驗證

摘要:在SoC開發(fā)過程中,基于FPGA的原型驗證是一種有效的驗證方法,它不僅能加快SoC的開發(fā),降低SoC應用系統(tǒng)的開發(fā)成本,而且提高了流片的成功率。文章主要描述了基于FPGA的SoC原型驗證的設計與實現(xiàn),針對FPGA基驗證中存在的問題進行了分析并提出了解決方案。
關鍵詞:現(xiàn)場可編程門陣列;系統(tǒng)級芯片;原型驗證;驗證平臺

0 引言
    隨著SoC設計規(guī)模的與日俱增,其功能日趨復雜,芯片的驗證階段占據(jù)了整個芯片開發(fā)的大部分時間。為了縮短驗證時間,在傳統(tǒng)的仿真驗證的基礎上涌現(xiàn)了許多新的驗證手段,如SDV(Software Driven verification)、BFM(Bus Function Model)等,以及基于FPGA的原型驗證技術。
    因FPGA工藝及技術的發(fā)展,其速度、容量和密度都大大增加,功耗和成本在不斷的降低,使得基于FPGA的原型驗證得到廣泛的應用?;贔PGA的原型驗證可以比軟件仿真速度高出4~6個數(shù)量級,而且還可以提高流片成功率,并為軟件開發(fā)提供了硬件平臺,加速了軟件的開發(fā)速度。
    本文主要論述了FPGA基原型驗證的實現(xiàn)方法,并且針對ARM1136為內(nèi)核的SoC,如何快速而有效地搭建一個原型驗證平臺做了詳細的論述,最后還以UART為例來說明一種簡單、可重用性好、靈活性強的測試程序架構。

1 基于ARM1136的SoC設計
    本文驗證的SoC芯片是定位于手持視頻播放設備、衛(wèi)星導航產(chǎn)品的高性能應用處理器,采用了ARM1136作為內(nèi)核,ARM11在提供超高性能的同時,還能保證功耗、面積的有效性。
    同時在這個架構中還采用了ARM公司的AMBA(Advanced Microcontroller Bus Architecture)總線,它是一組針對基于ARM核的片上系統(tǒng)之間通信而設計的標準協(xié)議。在設計中,對于一些處理數(shù)據(jù)和通訊速度要求較高的設備掛在AHB總線上,而那些對總線性能要求不高的設備掛在APB總線上。
    為了能夠提高一些設備間的數(shù)據(jù)傳輸速度,該設計加入了DMA,其支持存儲器到存儲器、存儲器到外設、外設到存儲的傳輸。
    基于ARM11設計的SoC系統(tǒng)構架如圖1所示,這個系統(tǒng)還包括了USB控制器、LCD控制器、圖像處理單元GPU、視頻處理單元VPU、GPS、I2S、通用異步串口UART、同步串口SPI、TIMER、PWM、實時時鐘(RTC)、I2C總線和功耗管理單元(PMU)等。


   
2 FPGA原型驗證平臺的快速搭建
    FPGA的發(fā)展為SoC的原型驗證提供了巨大的發(fā)揮空間,面對復雜的SoC系統(tǒng),傳統(tǒng)的一些驗證方法和單一的驗證技術已經(jīng)不能滿足設計的要求。本文所設計的平臺不僅能加快開發(fā)速度,提高流片成功率,而且還具有低錯誤率、快速和簡易的特點,因此特別適合用于RTL代碼更改頻繁的設計中。
2.1 FPGA原型驗證平臺的硬件環(huán)境設計
    FPGA原型驗證平臺的硬件設計應該考慮FPGA的邏緝資源、應用資源、擴展能力、PCB信號質(zhì)量、調(diào)試難度、組態(tài)和成本等方面的因素。本原型系統(tǒng)設計的FPGA開發(fā)板采用的是Terasic公司的DE3開發(fā)板,其FPGA芯片是StratixIII EP3SL340,擴展板是根據(jù)SoC整體驗證方案而設計的PCB板。FPGA原型驗證平臺的硬件架構如圖2所示,為了使FPGA的調(diào)試性能增強,該平臺加入了ICE在線調(diào)試器,它可以讓驗證人員和軟件開發(fā)人員觀察到ARM內(nèi)核和設計中各個寄存器的狀態(tài)信息,并且可以進行單步運行、在線調(diào)試等。


2.2 FPGA原型驗證平臺的軟件環(huán)境設計
    SoC芯片采用的是ASIC工藝流程,ASIC和FPGA在實現(xiàn)結構上是不同的,AISC通常使用綜合工具將RTL級代碼映射到芯片制造廠提供的標準單元上。這些標準單元包括完成邏輯功能的與非門、非門、或非門等基本門單元和完成存儲功能的各類觸發(fā)器、鎖存器,以及其它的宏單元。而FPGA器件為了實現(xiàn)可編程功能,通常使用查找表結構實現(xiàn)電路的邏輯功能。本文原型設計流程如圖3所示,在圖示中僅是將部分模塊列出,如PMU和GPIO。


2.2.1 設計代碼的轉換
    雖然FPGA和ASIC所用資源和實現(xiàn)方式不同,但在進行原型設計中需要遵循的一個原則就是“尊重原設計”。在FPGA現(xiàn)有資源情況下實現(xiàn)SoC時,盡可能地少改動原SoC設計,在此基礎上需要對原設計做如下轉換:
    (1)存儲模塊。存儲單元是必須進行代碼轉換的,ASIC中的存儲單元通常用代工廠所提供的Memory Compiler來定制。如果直接將ASIC代碼中的存儲單元作為FPGA的輸入,通常綜合器是綜合不出來的,即使能綜合出來,也要花費很長時間,并且資源消耗多、性能不好。而FPGA廠商一般提供經(jīng)過驗證并優(yōu)化的存儲單元,因此存儲單元要進行代碼轉換。在設計里用FPGA的RAM宏單元來替換ESRAM,SoC芯片里面的DDR PHY是模擬的模塊,此要替換成Altera公司的PHY的IP核。
    (2)時鐘和門控。數(shù)字電路中,時鐘是整個電路最重要、最特殊的信號。在ASIC中,用布局布線工具來放置時鐘樹,利用代工廠提供的PLL進行時鐘設計。而FPGA中通常已經(jīng)配置一定數(shù)量的PLL宏單元,并有針對時鐘優(yōu)化的全局時鐘網(wǎng)絡,一般是經(jīng)過FPGA的特定全局時鐘管腳進入FPGA內(nèi)部,后經(jīng)過全局時鐘BUF適配到全局時鐘網(wǎng)絡,這樣的時鐘網(wǎng)絡可以保證相同的時鐘沿到達芯片內(nèi)部每一個觸發(fā)器的延遲時間差異可以忽略不計,因此時鐘單元需要采用FPGA的PLL宏單元和專門的時鐘布線資源來替換。
    為了減少功耗,SoC設計中使用了門控時鐘(clockgating),如圖4所示,對于FPGA來說這種門控時鐘容易產(chǎn)生毛刺,導致數(shù)據(jù)不正確,所以在FPGA設計中要使用時鐘使能寄存器代替門控時鐘。


2.2.2 設計綜合
    綜合是將較高級抽象層次的描述轉換成較低層次描述,在這里就是把HDL程序轉化成標準的門級結構網(wǎng)表。本設計采用的EDA工具是Sy-nopsys公司的Synplify,將SoC的各個模塊分別進行綜合,綜合時要加約束文件和Altera公司的相應器件的庫文件,產(chǎn)生一個FPGA網(wǎng)表文件。
2.2.3 等價性檢查
    形式驗證(Formal Verification)主要用來在覆蓋所有可能輸入情況下,檢查是否與給定的規(guī)范一致。等價性檢查(equivalence check-ing)是形式驗證中的一部分,它主要是檢查兩個門級網(wǎng)表(gate-level netlisf)之間是否一致,保證網(wǎng)表處理后不會改變電路的功能,或者檢查RTL和門級網(wǎng)表之間是否一致,保證網(wǎng)表能正確地實現(xiàn)RTL代碼所描述的功能,或者檢查RTL間是否一致,保證兩種RTL描述邏輯一致。這種方法主要是用來尋找實現(xiàn)(Implementation Design)中的缺陷,而不是設計中的缺陷。由于芯片開發(fā)中,設計代碼將不斷的更改,都需要
更新FPGA的鏡像文件,這樣在頻繁的鏡像制作過程中,可能會因為環(huán)境和設計的更改引出許多實現(xiàn)過程中的錯誤,而本文為了減少這些錯誤,采用的Synopsys公司的Formality工具,主要用于檢查網(wǎng)標和RTL間是否一致,把RTL設計作為Reference Design,而把網(wǎng)標作為Imple-mentation Design,在進行等價性檢查時要加入Altera器件綜合過程中需要的相關庫文件。
2.2.4 設計整合和布局布線
    把多個設計文件轉換合并到一個設計庫文件中,并把整合后的設計輸入到Altera公司的QuartuslI工具,將綜合過的網(wǎng)表中的邏輯門映射到FPGA的內(nèi)部資源中,如ALUT等。
    布局是指從映射取出定義的邏輯和輸入輸出塊,并把它們分配到FPGA內(nèi)部的物理位置,布線是指利用自動布線軟件使用布線資源選擇路徑試著完成所有的邏輯連接。
2.2.5 時序分析
    在設計實現(xiàn)過程中,在映射后需要對一個設計的實際功能塊的延時和估計的布線延時進行時序分析。而在布局布線后,也要對實際布局布線的功能塊延時和實際布線延時進行時序分析。時序分析不僅可以檢查出我們代碼設計中的時序問題,還可以檢查出由于布局布線產(chǎn)生的時序問題。在本設計中用Altera公司的TimeQuest來進行時序分析,通過對原型設計增加時序約束,提高了工作主頻和減少了關鍵路徑的延時。在設計中經(jīng)常存在時序違約的情況,這時需要查看違約的關鍵路徑,然后查找原因,進行修改后再進行時序分析,重復整個過程直到滿足要求。
2.2.6 鏡像文件的生成和下載配置
    QuartusII經(jīng)過整合、布局布線等一系列操作后,最終會生成一個配置FPGA的位流文件(.sof洛式),然后利用QuartusII的Programmer工具,通過USB Blaster下載到FPGA,此時FPGA實現(xiàn)了原SoC設計的功能,原型驗證環(huán)境搭建完成。

3 FPGA原型驗證測試激勵的設計
    測試程序在FPGA基原型驗證中起至關重要的作用,現(xiàn)在的SoC設計很多都采用IP復用的方式,本文所設計出的測試程序有可重用性好、功能覆蓋率高和調(diào)試簡易等特點。
    測試程序的基本框架如圖5所示,具體模塊的測試程序只需要根據(jù)框架所提供的接口進行編寫相應的測試程序即可,代碼主要由以下四部分組成:
    (1)系統(tǒng)啟動部分。主要包含系統(tǒng)的異常向量表和系統(tǒng)啟動后設置ARM內(nèi)核的配置程序,如各種模式下的堆棧設置、開啟或關閉FIR和IRQ、設定中斷向量表等,在Boot_gfd.s中提供了跳到測試程序的接口。
    (2)模塊測試部分。在此部分根據(jù)各個模塊的功能,編寫相應的測試函數(shù),系統(tǒng)在執(zhí)行時會調(diào)用這些函數(shù),完成我們各個模塊的功能測試。
    (3)頭文件部分。為了方便代碼的編寫和理解,在tyoedef.h文件中對系統(tǒng)的數(shù)據(jù)類型做了重新定義并包含了部分公用函數(shù)的宏定義。一個SoC系統(tǒng)中擁有大量的寄存器,在本設計中用Register.h文件來存放這些寄存器地址的宏定義。
    (4)Scatter文件部分。scatter文件是用來描述刪連接器生成映像文件時需要的地址映射信息和加載域信息。


    下面以UART模塊為例,在此框架下根據(jù)其接口編寫相應的測試程序。
    驗證計劃:通過待驗UART與PC進行通信來驗證其功能是否正確,主要驗證的功能點有:1)寄存器讀寫;2)三種工作模式普通模式、自流控模式、LoopBack模式;3)奇偶校驗;4)波特率;5)FIFO觸發(fā)級。
    測試程序:根據(jù)上邊的功能點可以劃分兩個測試的基本的函數(shù),一個是寄存器讀寫的測試函數(shù)UART_RWTst(),還有一個就是UART工作配置函數(shù)UART_Config(),這個函數(shù)提供一個接口,通過這個接口可以配置UART的工作模式、奇偶校驗方式、波特率大小、FIFO觸發(fā)級。在更高層的測試應用程序中調(diào)用配置程序,變化配置參數(shù),使其與PC進行收發(fā)數(shù)據(jù),然后查看或比對數(shù)據(jù),判別其功能是否正確。測試程序文件結構如圖5所示。
    驗證結果:當待驗UART向PC發(fā)送數(shù)據(jù)時,在PC的超級終端會顯示這些數(shù)據(jù),UART功能驗證結果可通過觀測或數(shù)據(jù)比對來判斷,如圖6所示。


   
4 結論
    同樣的測試激勵程序在此原型平臺的執(zhí)行速度要比SDV(Software driven verification)平臺快4~6個數(shù)量級。本驗證平臺的搭建過程中對其進行了形式驗證和時序分析,大大減少了在原型設計中由于FPGA實現(xiàn)而導致的錯誤。本平臺的軟件測試程序具有接口簡單、易調(diào)試、可重用性好等特點,筆者在此原型平臺下完成了部分模塊的驗證,有效地提高了驗證效率,縮短了項目的開發(fā)周期,加大了流片成功率。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉