国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SoC芯片F(xiàn)PGA原型的軟硬件協(xié)同驗證

2017-11-24 11:53:05
關(guān)鍵詞:報警器原型時鐘

(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)

SoC芯片F(xiàn)PGA原型的軟硬件協(xié)同驗證

程翼勝

(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)

在IC設(shè)計中,驗證占據(jù)著舉足輕重的地位。為了達到高效率、高可靠性的驗證結(jié)果,保證芯片在流片的成功率,引入了FPGA原型驗證技術(shù)。本文以一款低功耗報警器SoC為對象,首先簡單介紹了低功耗報警器SoC芯片的系統(tǒng)架構(gòu),然后詳細說明了報警器SoC芯片F(xiàn)PGA原型驗證的具體實現(xiàn)。利用軟硬件協(xié)同驗證方法,驗證了報警器SoC芯片模塊的功能以及系統(tǒng)驗證。

SoC;FPGA;原型驗證

引 言

圖1 報警器芯片系統(tǒng)架構(gòu)

芯片驗證的時間占據(jù)了整個研發(fā)周期的三分之二,驗證的充分性有效地保證了芯片投片的成功率。為了獲得高效可靠的驗證結(jié)果,本文引入了FPGA原型驗證。用FPGA作為硬件模塊的承載體,一方面可以使芯片設(shè)計在真實的硬件上運行,及時發(fā)現(xiàn)設(shè)計中的缺陷;另一方面基于FPGA的原型驗證平臺驗證速度快,彌補了軟件仿真慢的不足。

本文論述了一個基于ARM Cortex-M0處理器的報警器芯片架構(gòu),以及FPGA原型驗證平臺的實現(xiàn)過程,包括FPGA驗證板的介紹、RTL設(shè)計到FPGA代碼轉(zhuǎn)換、硬件下載流程、軟硬件協(xié)同調(diào)試的方法等。

1 報警器芯片架構(gòu)

該系統(tǒng)應(yīng)用于工業(yè)控制領(lǐng)域,具體應(yīng)用為無線遙控、無線報警器。其將射頻和ARM集成到一塊芯片中,其中基帶部分和射頻部分通過兩根GPIO線實現(xiàn)連接,進行控制和數(shù)據(jù)交互。系統(tǒng)架構(gòu)如圖1所示。

該芯片作為電動車報警器的接收部分,采用ARM Cortex-M0內(nèi)核的MCU作為主控處理器,掛接在AHB總線上,使用AHB轉(zhuǎn)APB總線作為數(shù)據(jù)通路,連接多個外部接口控制器(UART、I2C、ADC等),芯片內(nèi)部接有時鐘管理單元,其系統(tǒng)框圖如圖2所示。硬件模塊的描述如表1所列。

圖2 數(shù)字部分整體框架

在正常工作模式下,處理器可以定時伺服看門狗,也可以屏蔽掉看門狗的復(fù)位功能,處理器配置完畢后可以配置系統(tǒng)控制寄存器,使得系統(tǒng)進入sleep模式,此時外設(shè)保持工作狀態(tài),任何外設(shè)的中斷信號都會導(dǎo)致處理器恢復(fù)到active模式下響應(yīng)中斷,完成中斷服務(wù)程序后重新進入sleep模式。

表1 硬件模塊描述

2 報警器硬件平臺的設(shè)計

報警器芯片的驗證,主要是對芯片的模塊到系統(tǒng)功能的驗證,報警器具體驗證平臺的總體架構(gòu)如圖3所示。

圖3 報警器驗證平臺結(jié)構(gòu)

圖4 驗證環(huán)境

整個FPGA驗證工作可以劃分為三個部分:PC機上調(diào)試,F(xiàn)PGA驗證板上工作和軟硬件協(xié)同調(diào)試。其中PC機主要工作是產(chǎn)生配置文件、測試激勵收發(fā)數(shù)據(jù)的讀取以及結(jié)果的驗證。FPGA驗證板主要是設(shè)計芯片工作的載體,并把芯片實時狀態(tài)信息回傳給PC機。驗證環(huán)境如圖4所示。

PC機運用Quartus生成bit流文件,下載到FPGA驗證板中,通過Keil編寫調(diào)試軟件對FPGA芯片進行控制和調(diào)試。對于驗證板需要提供設(shè)計芯片的上電復(fù)位和測試時鐘,接收PC機發(fā)送的調(diào)試程序和調(diào)試數(shù)據(jù),并運行程序調(diào)試,且將芯片運行的狀態(tài)信息回傳給PC機。

在調(diào)試部分,由于報警器芯片的內(nèi)部結(jié)構(gòu)復(fù)雜,僅憑借芯片引腳上的輸入/輸出信號很難判斷設(shè)計是否符合實際需求。因此,必須選擇合適的方法對FPGA芯片內(nèi)部狀態(tài)進行調(diào)試,從而獲知芯片的狀態(tài)是否工作正常,若不正常還能定位到問題之所在。采用邏輯分析儀SignalTap II觀測內(nèi)部信號,并通過串口調(diào)試助手來反饋信號的變化。

3 FPGA硬件平臺的介紹

表2 EP4SE820F1760

本文采用的FPGA驗證平臺為Hyper Silicon, 硬件平臺搭建主要運用了EP4SE820 FPGA器件,具有完善的時鐘和存儲資源,支持更快的速度。FPGA芯片擁有的主要可編程資源如表2所列。

Hyper Silicon驗證平臺的所有外設(shè)在驗證前均要通過連通性和功能性測試,以保證板上各元件能夠穩(wěn)定工作,為后續(xù)驗證中的問題定位打好基礎(chǔ)。其基本框架如圖5所示。

圖5 Hyper Silicon驗證平臺基本框架

4 FPGA軟件環(huán)境搭建

ASIC與FPGA兩者物理結(jié)構(gòu)不同,ASIC采用的是生產(chǎn)廠商提供的標準單元庫,F(xiàn)PGA是基于查找表結(jié)構(gòu),因此造成了RTL代碼風格的不同,所以在采用FPGA原型驗證技術(shù)驗證ASIC設(shè)計時,必須先把ASIC設(shè)計代碼轉(zhuǎn)換為FPGA設(shè)計代碼,才能移植到FPGA上。但需要注意的是,這僅僅是物理結(jié)構(gòu)上的差異,而對代碼進行轉(zhuǎn)換,并不改變設(shè)計邏輯功能。需要修改的部分包括以下幾個方面:

(1)存儲單元

ASIC中的存儲單元是用代工廠提供的Memory Compiler 來定制,只適合做ASIC功能仿真,F(xiàn)PGA是不能綜合的,而FPGA內(nèi)部提供的存儲單元是經(jīng)過驗證和優(yōu)化的,因此存儲單元需要轉(zhuǎn)化為FPGA中的存儲單元。[1]

(2)時鐘單元

在ASIC設(shè)計中,時鐘是整個設(shè)計電路中最重要的信號,在ASIC中,用布局布線工具來放置時鐘樹,利用代工廠提供的PLL進行時鐘的設(shè)計生成,而在FPGA中通常內(nèi)置有一定數(shù)量的PLL宏單元,并有經(jīng)過時鐘優(yōu)化了的全局時鐘,可以保證同源時鐘沿到達每個寄存器的延時時間差異可以忽略不計。[2]因此,時鐘單元要進行替換。替換方法如下:

`ifdef AUTO_FPGA

Pll_osc u_pll_osc (

.inclk0 (clk_32M),

.c0 (osc_clk) );

assign por_reset_n=hw_rstn_i;

`else

OSCRC020MCB osc_insn(

.FOUT (osc_clk ),

.RESET (~por_reset_n ),

.PD (~por_reset_n ),

ISEL (osc_trim) );

`endif

另外,特別需要注意的是門控時鐘,ASIC設(shè)計中為了實現(xiàn)低功耗,采用了門控使能時鐘設(shè)計。FPGA全局時鐘資源有限,經(jīng)過門控延時較大,會產(chǎn)生毛刺現(xiàn)象,因此,需要把門控時鐘電路轉(zhuǎn)換為時鐘使能電路。替換方法如下:

`ifdef AUTO_ASIC

AND_X4_A7TR u_clk_gate(.Y(clk_out), .(clk_in), .B(clk_en));

`elseif AUTO_FPGA

assign clk_out=clk_en & clk_in;

`endif

(3)頂層PAD的替換

在ASIC的設(shè)計中,頂層模塊包含了一層PAD層,I/O引腳需要通過PAD與外部引腳相連,而PAD也是工藝庫提供的模塊單元,對FPGA實現(xiàn)來說,顯然實現(xiàn)不了PAD的功能,同樣也不需要這個模塊單元,所以在FPGA模式下代碼的頂層就不用包含PAD層的代碼。

5 軟硬件協(xié)同驗證系統(tǒng)

基于軟硬件協(xié)同仿真驗證是FPGA驗證SoC的常規(guī)方法,并搭建軟硬件協(xié)同驗證平臺環(huán)境,實現(xiàn)能夠滿足實際需求的FPGA驗證平臺。[3]

5.1 FPGA軟硬件協(xié)同驗證架構(gòu)

FPGA驗證是為了驗證SoC設(shè)計芯片在實際物理硬件環(huán)境中功能和運行狀態(tài)是否正常。針對本文提出的基于報警器SoC芯片搭建能夠?qū)崿F(xiàn)驗證的軟硬協(xié)同驗證系統(tǒng)的基本架構(gòu)如圖6所示。

圖6 軟硬件協(xié)同驗證系統(tǒng)基本架構(gòu)

其中包括FPGA驗證板、支持下載bit文件以及調(diào)試驗證過程中需要的FPGA下載線及編程器、支持芯片的仿真器,以及安裝有Keil軟件、Quartus軟件和串口調(diào)試助手軟件的PC機。軟硬件協(xié)同驗證的步驟如下:

① 先把需要驗證的SoC系統(tǒng)由Quartus工具綜合及布局布線生成對應(yīng)的bit流文件,經(jīng)過JTAG下載到FPGA驗證板中。

② 通過上位機Keil軟件編寫控制報警器芯片運行的軟件程序,完成系統(tǒng)的boot、初始化、測試激勵編譯及控制所需要的程序。

③ 通過編寫及測試激勵程序的加載、運行、調(diào)試,實現(xiàn)對設(shè)計芯片的狀態(tài)控制,觀察芯片運行的狀態(tài)信息是否正常。

④ 通過不同的測試程序控制運行相應(yīng)的模塊以及整個系統(tǒng)的運行工作,保證驗證的完整性。

在驗證的過程中,根據(jù)各個模塊的功能以及SoC系統(tǒng)特性,使用示波器觀測相應(yīng)的信號引腳,利用SignalTal軟件抓取內(nèi)部信號來判斷邏輯功能關(guān)系,驗證系統(tǒng)各模塊交互、數(shù)據(jù)相互流通功能的正確性;驗證所有IP核協(xié)同運行狀態(tài);驗證整個系統(tǒng)功能的正確性。驗證流程圖7所示。

圖7 驗證流程圖

5.2 SoC系統(tǒng)及各模塊功能驗證

首先對SoC系統(tǒng)功能驗證,前提是要保證FPGA軟件平臺以及硬件平臺的正確性,才能在Keil環(huán)境下編寫控制軟件程序,以達到驗證各個模塊功能正確的目的。Keil編程器與FPGA硬件平臺連線正確后,可以通過下載編寫控制軟件程序驗證各個模塊功能的正確性。

5.2.1 射頻模塊的功能驗證

射頻模塊接收發(fā)射機發(fā)出的射頻信號,經(jīng)過ASK/OOK的解調(diào)輸出0~VDD的模擬信號。 由于在實際系統(tǒng)中使用基于OOK的曼徹斯特編碼方式(20位地址+4位命令),因此輸出的模擬信號實際為0或1的邏輯電平。MCU通過GPIO輸入端接收這個電平并且通過判決程序進行曼徹斯特編碼的判決,若正確接收命令,然后發(fā)送中斷,此時喚醒ARM來處理射頻數(shù)據(jù),否則進入休眠狀態(tài)等待下一次系統(tǒng)喚醒,或者持續(xù)接收并判決直到接收到正確命令為止。

圖8 射頻采樣信號

在FPGA驗證中,運用示波器抓取相應(yīng)的射頻信號波形,當射頻引腳有波形輸出時,表示能正確地接收射頻信號,驗證完成。配置相應(yīng)的寄存器,用示波器抓取到的信號波形如圖8所示。

5.2.2 系統(tǒng)驗證

上電后,將系統(tǒng)復(fù)位,啟動MCU,然后MCU配置系統(tǒng)工作。MCU可以進入sleep,系統(tǒng)可進入Deep sleep模式以低功耗方式運行,在中斷情況下,MCU或者系統(tǒng)可以被激活,進行正常工作。射頻模塊接收發(fā)射機發(fā)出的射頻信號,振動模塊檢測振動電平信號,并通知MCU進行處理,MCU解析命令并執(zhí)行相應(yīng)的操作。驗證的步驟如圖9所示。驗證的場景如圖10所示。

圖9 驗證步驟

圖10 FPGA原型測試環(huán)境

結(jié) 語

[1] 楊安生,黃世震.基于ARM SoC的FPGA原型驗證[J].電子器件,2011,34(3):247-251.

[2] 章瑋.原型驗證過程中的ASIC到FPGA的代碼轉(zhuǎn)換[J].今日電子,2006(7):56-59.

[3] 張躍玲,張磊,汪健,等.FPGA的驗證平臺及有效的SoC驗證方法[J].單片機與嵌入式系統(tǒng)應(yīng)用,2016,16(3):8-11.

程翼勝(碩士研究生),主要研究方向為芯片驗證。

FPGAPrototypeHardware/SoftwareCo-verificationBasedonSoC

ChengYisheng

(College of Communication and Information Engineering,Chongqing University of Posts and Telecommunications,Chongqing 400065,China)

In the IC design,the verification occupies a pivotal position.In order to achieve high efficiency and high reliability of the verification results to ensure that the chip in the success rate of the chip,FPGA prototype verification technology is introduced.In this paper,based on a low-power alarm SoC chip,first of all,a brief introductionof the low-power alarm SoC chip system architecture is introduced,and then the specific implementation of the alarm SoC chip FPGA prototype verification is descriped in detail.The function of the SoC chip module and the system verification are verified by the hardware and software co-verification method.

SoC;FPGA;prototype verification

TP31

A

2017-08-04)

猜你喜歡
報警器原型時鐘
別樣的“時鐘”
包裹的一切
古代的時鐘
《哈姆雷特》的《圣經(jīng)》敘事原型考證
自制下雨報警器
有趣的時鐘
基于無線通信的入侵報警器設(shè)計
電子制作(2017年24期)2017-02-02 07:14:15
論《西藏隱秘歲月》的原型復(fù)現(xiàn)
時鐘會開“花”
原型理論分析“門”
人間(2015年20期)2016-01-04 12:47:08
垫江县| 新兴县| 双牌县| 凤阳县| 滦平县| 三亚市| 磴口县| 临夏县| 丽水市| 张家界市| 玉屏| 临海市| 渭源县| 旅游| 阜城县| 农安县| 宁都县| 建湖县| 达拉特旗| 启东市| 克山县| 黎城县| 沽源县| 通渭县| 邛崃市| 孟州市| 兴化市| 巴楚县| 新田县| 固镇县| 芒康县| 西畴县| 金湖县| 乐都县| 佳木斯市| 江川县| 明星| 石家庄市| 穆棱市| 富阳市| 东辽县|