《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于FPGA的SoC原型驗證的設計與實現
基于FPGA的SoC原型驗證的設計與實現
摘要: 本文主要論述了FPGA基原型驗證的實現方法,并且針對ARM1136為內核的SoC,如何快速而有效地搭建一個原型驗證平臺做了詳細的論述,最后還以UART為例來說明一種簡單、可重用性好、靈活性強的測試程序架構。
Abstract:
Key words :
  0 引言

  隨著SoC設計規模的與日俱增,其功能日趨復雜,芯片的驗證階段占據了整個芯片開發的大部分時間。為了縮短驗證時間,在傳統的仿真驗證的基礎上涌現了許多新的驗證手段,如SDV(Software Driven verification)、BFM(Bus Function Model)等,以及基于FPGA的原型驗證技術。

  因FPGA工藝及技術的發展,其速度、容量和密度都大大增加,功耗和成本在不斷的降低,使得基于FPGA的原型驗證得到廣泛的應用?;贔PGA的原型驗證可以比軟件仿真速度高出4~6個數量級,而且還可以提高流片成功率,并為軟件開發提供了硬件平臺,加速了軟件的開發速度。

  本文主要論述了FPGA基原型驗證的實現方法,并且針對ARM1136為內核的SoC,如何快速而有效地搭建一個原型驗證平臺做了詳細的論述,最后還以UART為例來說明一種簡單、可重用性好、靈活性強的測試程序架構。

  1 基于ARM1136的SoC設計

  本文驗證的SoC芯片是定位于手持視頻播放設備、衛星導航產品的高性能應用處理器,采用了ARM1136作為內核,ARM11在提供超高性能的同時,還能保證功耗、面積的有效性。

  同時在這個架構中還采用了ARM公司的AMBA(Advanced Microcontroller Bus Architecture)總線,它是一組針對基于ARM核的片上系統之間通信而設計的標準協議。在設計中,對于一些處理數據和通訊速度要求較高的設備掛在AHB總線上,而那些對總線性能要求不高的設備掛在APB總線上。

  為了能夠提高一些設備間的數據傳輸速度,該設計加入了DMA,其支持存儲器存儲器、存儲器到外設、外設到存儲的傳輸。

  基于ARM11設計的SoC系統構架如圖1所示,這個系統還包括了USB控制器、LCD控制器、圖像處理單元GPU、視頻處理單元VPU、GPS、I2S、通用異步串口UART、同步串口SPI、TIMER、PWM、實時時鐘(RTC)、I2C總線和功耗管理單元(PMU)等。

a.JPG

  2 FPGA原型驗證平臺的快速搭建

  FPGA的發展為SoC的原型驗證提供了巨大的發揮空間,面對復雜的SoC系統,傳統的一些驗證方法和單一的驗證技術已經不能滿足設計的要求。本文所設計的平臺不僅能加快開發速度,提高流片成功率,而且還具有低錯誤率、快速和簡易的特點,因此特別適合用于RTL代碼更改頻繁的設計中。

  2.1 FPGA原型驗證平臺的硬件環境設計

  FPGA原型驗證平臺的硬件設計應該考慮FPGA的邏緝資源、應用資源、擴展能力、PCB信號質量、調試難度、組態和成本等方面的因素。本原型系統設計的FPGA開發板采用的是Terasic公司的DE3開發板,其FPGA芯片是StratixIII EP3SL340,擴展板是根據SoC整體驗證方案而設計的PCB板。FPGA原型驗證平臺的硬件架構如圖2所示,為了使FPGA的調試性能增強,該平臺加入了ICE在線調試器,它可以讓驗證人員和軟件開發人員觀察到ARM內核和設計中各個寄存器的狀態信息,并且可以進行單步運行、在線調試等。

b.JPG

  2.2 FPGA原型驗證平臺的軟件環境設計

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

c.JPG

  2.2.1 設計代碼的轉換

  雖然FPGA和ASIC所用資源和實現方式不同,但在進行原型設計中需要遵循的一個原則就是“尊重原設計”。在FPGA現有資源情況下實現SoC時,盡可能地少改動原SoC設計,在此基礎上需要對原設計做如下轉換:

  (1)存儲模塊。存儲單元是必須進行代碼轉換的,ASIC中的存儲單元通常用代工廠所提供的Memory Compiler來定制。如果直接將ASIC代碼中的存儲單元作為FPGA的輸入,通常綜合器是綜合不出來的,即使能綜合出來,也要花費很長時間,并且資源消耗多、性能不好。而FPGA廠商一般提供經過驗證并優化的存儲單元,因此存儲單元要進行代碼轉換。在設計里用FPGA的RAM宏單元來替換ESRAM,SoC芯片里面的DDR PHY是模擬的模塊,此要替換成Altera公司的PHY的IP核。

  (2)時鐘和門控。數字電路中,時鐘是整個電路最重要、最特殊的信號。在ASIC中,用布局布線工具來放置時鐘樹,利用代工廠提供的PLL進行時鐘設計。而FPGA中通常已經配置一定數量的PLL宏單元,并有針對時鐘優化的全局時鐘網絡,一般是經過FPGA的特定全局時鐘管腳進入FPGA內部,后經過全局時鐘BUF適配到全局時鐘網絡,這樣的時鐘網絡可以保證相同的時鐘沿到達芯片內部每一個觸發器的延遲時間差異可以忽略不計,因此時鐘單元需要采用FPGA的PLL宏單元和專門的時鐘布線資源來替換。

  為了減少功耗,SoC設計中使用了門控時鐘(clockgating),如圖4所示,對于FPGA來說這種門控時鐘容易產生毛刺,導致數據不正確,所以在FPGA設計中要使用時鐘使能寄存器代替門控時鐘。

d.JPG

  2.2.2 設計綜合

  綜合是將較高級抽象層次的描述轉換成較低層次描述,在這里就是把HDL程序轉化成標準的門級結構網表。本設計采用的EDA工具是Sy-nopsys公司的Synplify,將SoC的各個模塊分別進行綜合,綜合時要加約束文件和Altera公司的相應器件的庫文件,產生一個FPGA網表文件。

  2.2.3 等價性檢查

  形式驗證(Formal Verification)主要用來在覆蓋所有可能輸入情況下,檢查是否與給定的規范一致。等價性檢查(equivalence check-ing)是形式驗證中的一部分,它主要是檢查兩個門級網表(gate-level netlisf)之間是否一致,保證網表處理后不會改變電路的功能,或者檢查RTL和門級網表之間是否一致,保證網表能正確地實現RTL代碼所描述的功能,或者檢查RTL間是否一致,保證兩種RTL描述邏輯一致。這種方法主要是用來尋找實現(Implementation Design)中的缺陷,而不是設計中的缺陷。由于芯片開發中,設計代碼將不斷的更改,都需要

  更新FPGA的鏡像文件,這樣在頻繁的鏡像制作過程中,可能會因為環境和設計的更改引出許多實現過程中的錯誤,而本文為了減少這些錯誤,采用的Synopsys公司的Formality工具,主要用于檢查網標和RTL間是否一致,把RTL設計作為Reference Design,而把網標作為Imple-mentation Design,在進行等價性檢查時要加入Altera器件綜合過程中需要的相關庫文件。

  2.2.4 設計整合和布局布線

  把多個設計文件轉換合并到一個設計庫文件中,并把整合后的設計輸入到Altera公司的QuartuslI工具,將綜合過的網表中的邏輯門映射到FPGA的內部資源中,如ALUT等。

  布局是指從映射取出定義的邏輯和輸入輸出塊,并把它們分配到FPGA內部的物理位置,布線是指利用自動布線軟件使用布線資源選擇路徑試著完成所有的邏輯連接。

  2.2.5 時序分析

  在設計實現過程中,在映射后需要對一個設計的實際功能塊的延時和估計的布線延時進行時序分析。而在布局布線后,也要對實際布局布線的功能塊延時和實際布線延時進行時序分析。時序分析不僅可以檢查出我們代碼設計中的時序問題,還可以檢查出由于布局布線產生的時序問題。在本設計中用Altera公司的TimeQuest來進行時序分析,通過對原型設計增加時序約束,提高了工作主頻和減少了關鍵路徑的延時。在設計中經常存在時序違約的情況,這時需要查看違約的關鍵路徑,然后查找原因,進行修改后再進行時序分析,重復整個過程直到滿足要求。

  2.2.6 鏡像文件的生成和下載配置

  QuartusII經過整合、布局布線等一系列操作后,最終會生成一個配置FPGA的位流文件(.sof洛式),然后利用QuartusII的Programmer工具,通過USB Blaster下載到FPGA,此時FPGA實現了原SoC設計的功能,原型驗證環境搭建完成。

  3 FPGA原型驗證測試激勵的設計

  測試程序在FPGA基原型驗證中起至關重要的作用,現在的SoC設計很多都采用IP復用的方式,本文所設計出的測試程序有可重用性好、功能覆蓋率高和調試簡易等特點。

  測試程序的基本框架如圖5所示,具體模塊的測試程序只需要根據框架所提供的接口進行編寫相應的測試程序即可,代碼主要由以下四部分組成:

  (1)系統啟動部分。主要包含系統的異常向量表和系統啟動后設置ARM內核的配置程序,如各種模式下的堆棧設置、開啟或關閉FIR和IRQ、設定中斷向量表等,在Boot_gfd.s中提供了跳到測試程序的接口。

  (2)模塊測試部分。在此部分根據各個模塊的功能,編寫相應的測試函數,系統在執行時會調用這些函數,完成我們各個模塊的功能測試。

  (3)頭文件部分。為了方便代碼的編寫和理解,在tyoedef.h文件中對系統的數據類型做了重新定義并包含了部分公用函數的宏定義。一個SoC系統中擁有大量的寄存器,在本設計中用Register.h文件來存放這些寄存器地址的宏定義。

  (4)Scatter文件部分。scatter文件是用來描述刪連接器生成映像文件時需要的地址映射信息和加載域信息。

e.JPG

  下面以UART模塊為例,在此框架下根據其接口編寫相應的測試程序。

  驗證計劃:通過待驗UART與PC進行通信來驗證其功能是否正確,主要驗證的功能點有:1)寄存器讀寫;2)三種工作模式普通模式、自流控模式、LoopBack模式;3)奇偶校驗;4)波特率;5)FIFO觸發級。

  測試程序:根據上邊的功能點可以劃分兩個測試的基本的函數,一個是寄存器讀寫的測試函數UART_RWTst(),還有一個就是UART工作配置函數UART_Config(),這個函數提供一個接口,通過這個接口可以配置UART的工作模式、奇偶校驗方式、波特率大小、FIFO觸發級。在更高層的測試應用程序中調用配置程序,變化配置參數,使其與PC進行收發數據,然后查看或比對數據,判別其功能是否正確。測試程序文件結構如圖5所示。

  驗證結果:當待驗UART向PC發送數據時,在PC的超級終端會顯示這些數據,UART功能驗證結果可通過觀測或數據比對來判斷,如圖6所示。

f.JPG

  4 結論

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

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产模特精品视频久久久久| 国产精品jvid在线观看蜜臀| 久久久人人人| 亚洲人永久免费| 国产综合在线视频| 欧美在线免费视屏| 欧美精品123区| 欧美日韩在线观看一区二区| 亚洲精品午夜精品| 国产日本欧美视频| 性欧美暴力猛交另类hd| 国产精品欧美日韩一区| 国产精品午夜视频| 午夜视频久久久| 欧美电影打屁股sp| 亚洲国产精品99久久久久久久久| 欧美精品一区二区三区一线天视频| 欧美日韩美女在线| 一区在线视频观看| 欧美亚洲日本一区| 国产亚洲女人久久久久毛片| 亚洲欧洲中文日韩久久av乱码| 狠狠色狠狠色综合日日tαg| 国产精品久久久久永久免费观看| 欧美日韩国产综合久久| 亚洲欧美视频一区二区三区| 欧美日韩国产免费| 欧美久久综合| 国产最新精品精品你懂的| 久久久久久久综合狠狠综合| 久久人91精品久久久久久不卡| 欧美精品成人91久久久久久久| 欧美黄色片免费观看| 国产精品久久久| 依依成人综合视频| 亚洲综合国产精品| 国产精品午夜在线| 一区视频在线| 国产一级揄自揄精品视频| 狠狠入ady亚洲精品| 亚洲午夜精品视频| 久久久蜜臀国产一区二区| 久久亚洲欧洲| 亚洲尤物视频在线| 亚洲国产精品高清久久久| 久久综合国产精品台湾中文娱乐网| 国产一区二区三区av电影| 久久久av毛片精品| 亚洲一区日韩| 亚洲女爱视频在线| 国产精品国产三级国产普通话蜜臀| 亚洲国产精品久久久久秋霞不卡| 亚洲网站在线看| 久久精品国产在热久久| 国产欧美一区二区三区久久人妖| 亚洲欧美国产日韩天堂区| 久久五月激情| 亚洲卡通欧美制服中文| 国产综合网站| 中国成人在线视频| 欧美在线视频不卡| 在线视频亚洲欧美| 精品成人在线观看| 麻豆成人精品| 亚洲一区二区三区涩| 久久久久综合| 久久久久亚洲综合| 亚洲私人影吧| 亚洲欧美怡红院| 国产精品九九久久久久久久| 在线视频欧美日韩精品| 欧美精品一区二区久久婷婷| 久久九九国产精品| 亚洲国产精品一区制服丝袜| 欧美精品日韩| 亚洲欧洲三级电影| 亚洲一区欧美| 亚洲国产色一区| 欧美福利精品| 国产人妖伪娘一区91| 久久综合伊人77777蜜臀| 国产精品麻豆va在线播放| 欧美激情视频一区二区三区免费| 国产欧美日本在线| 在线中文字幕日韩| 亚洲精品中文在线| 中国av一区| 久久久久久久国产| 欧美另类久久久品| 欧美日韩成人网| 欧美夫妇交换俱乐部在线观看| 篠田优中文在线播放第一区| 欧美在线一区二区| 黄色亚洲大片免费在线观看| 一区二区三区视频在线观看| 久久精彩免费视频| 亚洲大片一区二区三区| 欧美亚洲成人精品| 国外成人免费视频| 亚洲欧洲av一区二区三区久久| 9l国产精品久久久久麻豆| 国产精品va| 欧美阿v一级看视频| 久久九九99视频| 亚洲欧洲日韩女同| 欧美人在线观看| 久久综合狠狠综合久久综合88| 国产一区二区三区在线播放免费观看| 国产日韩欧美在线视频观看| 亚洲精品123区| 狠狠色丁香久久婷婷综合丁香| 国产精品a级| 亚洲美女黄网| 欧美日韩精品久久| 亚洲欧洲一区二区在线观看| 日韩视频免费大全中文字幕| 欧美日韩亚洲一区二区| 亚洲综合导航| 亚洲性夜色噜噜噜7777| 国产亚洲日本欧美韩国| 在线观看欧美视频| 久久激情视频免费观看| 久久久欧美精品sm网站| 小黄鸭精品密入口导航| 好看的av在线不卡观看| 国产精品美女www爽爽爽| 香蕉av777xxx色综合一区| 久久精品日产第一区二区| 日韩亚洲在线| 在线一区观看| 欧美久久久久| 久久久久一区二区| 国产精品成人观看视频国产奇米| 欧美主播一区二区三区| 亚洲国产成人精品久久久国产成人一区| 欧美成人激情视频| 一个人看的www久久| 国产精品久久久久久久久久久久久| 国产毛片久久| 国产人成精品一区二区三| 亚洲国产综合视频在线观看| 欧美成人免费在线观看| 在线观看国产精品淫| 一本大道久久a久久精品综合| 久久成人av少妇免费| 国产区在线观看成人精品| 国产一区二区三区在线观看视频| 欧美丰满高潮xxxx喷水动漫| 亚洲福利视频专区| 欧美午夜精品一区二区三区| 老妇喷水一区二区三区| 免费成人在线视频网站| 米奇777在线欧美播放| 免费观看亚洲视频大全| 99国产精品久久久久久久成人热| 亚洲欧洲一区| 日韩视频精品在线| 蜜臀av国产精品久久久久| 亚洲福利国产精品| 免费在线观看一区二区| 国产精品美女视频网站| 亚洲欧美中文日韩v在线观看| 久久这里有精品15一区二区三区| 亚洲国产精品欧美一二99| 久久久久久久网站| 99re6热在线精品视频播放速度| 久久精品国产亚洲高清剧情介绍| 狠狠狠色丁香婷婷综合久久五月| 亚洲国产老妈| 欧美日本中文| 国产精品一区亚洲| 亚洲人屁股眼子交8| 久久激情一区| 久久精品日韩一区二区三区| 国产麻豆精品theporn| 久久九九热免费视频| 国产精品久久久久久久久久妞妞| 欧美日韩精品一区二区在线播放| 国产精品视频yy9099| 欧美成人情趣视频| 欧美日韩一区二区在线视频| 久久精品国产清自在天天线| 国产精品久久久久久久久久免费| 午夜激情久久久| 国产精品亚洲第一区在线暖暖韩国| 欧美午夜性色大片在线观看| 亚洲久久成人| 久久综合久久88| 国产亚洲精品bv在线观看| 一本久久知道综合久久| 这里只有精品电影| 欧美 日韩 国产精品免费观看| 午夜国产精品影院在线观看| 欧美日韩在线大尺度| 欧美精彩视频一区二区三区| 在线精品福利| 欧美极品一区| 亚洲欧美久久久| 欧美精品在线一区| 国产午夜精品理论片a级大结局| 国产精品美女久久久| 一本一本久久a久久精品牛牛影视| 欧美电影免费观看网站| 免费永久网站黄欧美| 欧美精品国产一区| 国产精品久久久久久亚洲调教| 欧美亚洲免费| 欧美另类在线观看| 国内一区二区在线视频观看| 亚洲午夜日本在线观看| 欧美日韩一区二区三区视频| 精品成人国产在线观看男人呻吟| 国产日韩成人精品| 欧美中文字幕第一页| 亚洲精品久久久久久久久久久久久| 中国av一区| 久久精品一区二区三区不卡牛牛| 日韩午夜电影av| 美女性感视频久久久| 欧美不卡激情三级在线观看| 亚洲精品国精品久久99热一| 国内精品久久久久久久果冻传媒| 国产乱码精品一区二区三区av| 欧美在线一区二区三区| 欧美一级片久久久久久久| 亚洲国产人成综合网站| 国产亚洲网站| 亚洲第一视频网站| 亚洲激精日韩激精欧美精品| 日韩午夜电影av| 在线亚洲电影| 国产精品视频在线观看| 国产精品久久久久久久久搜平片| 国产精品免费看片| 欧美日韩亚洲激情| 亚洲一区二区三区午夜| 亚洲第一综合天堂另类专| 麻豆亚洲精品| 亚洲欧美日本国产有色| 久久精品国产一区二区三区免费看| 欧美精品自拍偷拍动漫精品| 久久精品免费| 久久久蜜桃一区二区人| 雨宫琴音一区二区在线| 免费视频最近日韩| 国产精品久久网| 亚洲永久免费av| 亚洲精品资源| 精品999久久久| 日韩视频在线一区二区| 欧美精品午夜| 欧美日韩国产综合一区二区| 性做久久久久久久久| 激情久久久久久久久久久久久久久久| 欧美日韩亚洲一区二区三区四区| 午夜免费在线观看精品视频| 久久不见久久见免费视频1| 欧美天堂在线观看| 亚洲国产精品高清久久久| 亚洲国产精品久久人人爱蜜臀| 91久久线看在观草草青青| 午夜久久黄色| 这里只有精品丝袜| 亚洲欧洲精品一区二区三区| 亚洲人成网站色ww在线| 国产精品免费看| 欧美三级日本三级少妇99| 国产女主播视频一区二区| 亚洲一区二区三区在线观看视频| 国产精品入口福利| 欧美中文在线免费| 国产精品国产三级国产普通话三级| 久久精品国产久精国产一老狼| 亚洲在线观看| 欧美精品自拍偷拍动漫精品| 亚洲图片欧洲图片av| 西西人体一区二区| 亚洲福利视频二区| 亚洲精品久久久久久一区二区| 欧美韩日精品| 99成人精品| 国内精品久久久| 一本色道久久综合狠狠躁篇怎么玩| 亚洲成色999久久网站| 欧美精品色一区二区三区| 欧美成人按摩| 久久精品导航| 国内久久精品视频| 欧美日韩国产美| 欧美~级网站不卡| 亚洲嫩草精品久久| 国产欧美va欧美不卡在线| 久久久久久黄| 精久久久久久久久久久| 国语自产偷拍精品视频偷| 亚洲淫片在线视频| 好看不卡的中文字幕| 国产乱码精品一区二区三区不卡| 欧美日韩一区二区免费在线观看| 久久精品一区二区三区四区| 久久人体大胆视频| 狠狠色综合色综合网络| 亚洲午夜久久久久久尤物| 国内免费精品永久在线视频| 精品动漫一区二区| 亚洲高清资源综合久久精品| 国产精品呻吟| 国产精品久久久久久模特| 国产精品国产三级国产| 男女视频一区二区| 日韩小视频在线观看| 性色一区二区| 免费观看亚洲视频大全| 亚洲电影在线看| 亚洲日韩中文字幕在线播放| 欧美高清不卡在线| 欧美高清视频在线观看| 一区二区三区高清不卡| 国产欧美丝祙| 亚洲尤物视频在线| 亚洲精品视频一区二区三区| 久久久国产午夜精品| 欧美激情视频免费观看| 国产精品自拍三区| 亚洲视频免费| 国产亚洲欧美日韩一区二区| 午夜精品国产精品大乳美女| 在线免费观看一区二区三区|