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

?

國產(chǎn)JRAX1000型反熔絲FPGA應(yīng)用演示系統(tǒng)設(shè)計

2022-03-17 10:15于躍雋揚(yáng)曹靚趙桂林孫杰杰楊霄壘
電子測試 2022年5期
關(guān)鍵詞:熔絲寄存器時序

于躍,雋揚(yáng),曹靚,趙桂林,孫杰杰,楊霄壘

(中科芯集成電路有限公司,江蘇無錫,214072)

1 概述

中電五十八所研制的百萬門級JRAX1000型反熔絲FPGA內(nèi)部邏輯資源等效門數(shù)100萬門,帶三模冗余加固的寄存器單元有6048個,時鐘資源包括4個硬線時鐘(Hardwired)和4個布線時鐘(Routed),此外芯片還內(nèi)嵌了162Kbit帶自刷新(EDAC)功能的RAM塊[2]。JRAX1000型FPGA通過燒寫相應(yīng)位置的反熔絲,將程序代碼固化在芯片內(nèi)部,上電即運(yùn)行,所以不需要額外的配置芯片引導(dǎo)啟動。采用JRAX系列反熔絲FPGA在硬件設(shè)計上,較傳統(tǒng)SRAM型FPGA簡便。由于反熔絲FPGA屬于一次可編程器件,不能多次編程,因而在代碼設(shè)計和調(diào)試方面,較傳統(tǒng)SRAM型FPGA復(fù)雜。為了解決代碼設(shè)計和調(diào)試上的難度,通常采用SRAM型FPGA驗(yàn)證和調(diào)試代碼的邏輯功能,在邏輯功能驗(yàn)證通過后,再將源代碼移植到反熔絲FPGA開發(fā)壞境Libero軟件中,進(jìn)行時序約束和布局布線等操作,在時序滿足要求后,再通過燒寫器對程序進(jìn)行固化。

2 演示系統(tǒng)硬件設(shè)計

2.1 LCD顯示和觸摸控制電路

LCD顯示和觸摸控制電路作為整個系統(tǒng)的人機(jī)交互窗口,是兩個獨(dú)立功能的模塊。其中觸摸控制電路負(fù)責(zé)檢測人體在顯示屏上的觸點(diǎn)坐標(biāo),根據(jù)觸點(diǎn)在屏幕上不同區(qū)域的位置,系統(tǒng)開啟和關(guān)閉相應(yīng)的功能。LCD顯示控制電路負(fù)責(zé)將系統(tǒng)運(yùn)行的結(jié)果反饋在屏幕上,能直觀的看出演示效果。

反熔絲FPGA通過IIC總線與觸摸控制芯片F(xiàn)T5206進(jìn)行通訊,完成對FT5206上電初始化,觸點(diǎn)坐標(biāo)實(shí)時監(jiān)測[3]。反熔絲FPGA對接收到的坐標(biāo)信息,進(jìn)行坐標(biāo)變換,并判斷開啟或關(guān)閉相應(yīng)功能操作。在系統(tǒng)運(yùn)行結(jié)果顯示方面,反熔絲FPGA通過RGB565總線提供LCD液晶屏16位像素點(diǎn)數(shù)據(jù),并按數(shù)據(jù)使能同步模式(DE MODE)、分辨率 1024×600,同步時鐘50MHz的方式顯示圖像。

2.2 音頻數(shù)據(jù)DAC處理電路

音頻數(shù)據(jù)處理電路采用WM8731芯片內(nèi)部集成的數(shù)模轉(zhuǎn)換器DAC和運(yùn)放,將存放在外部大容量SD卡內(nèi)的無損音頻數(shù)據(jù),轉(zhuǎn)換為采樣率48KHz的音頻模擬信號,并通過外部揚(yáng)聲器播放出來。在音頻數(shù)據(jù)傳輸過程中,首先反熔絲FPGA通過SPI總線對外部SD卡初始化后,從SD卡中讀入音頻數(shù)據(jù),并在FPGA內(nèi)對數(shù)據(jù)進(jìn)行處理,然后輸出到WM8731中進(jìn)行模數(shù)轉(zhuǎn)換及信號放大[4]。其中FPGA通過IIS總線配置WM8731及數(shù)據(jù)傳輸,WM8731配置成從模式(Slave Mode)、過采樣率256×fs(fs為音頻數(shù)據(jù)采樣率48KHz)、20位采樣位數(shù)。因WM8731配置成從模式工作,所以WM8731的主時鐘MCLK和位時鐘BCLK都由反熔絲FPGA提供,這兩個時鐘頻率計算如下:

圖1 演示系統(tǒng)硬件組成框圖

2.3 圖像數(shù)據(jù)采集電路

圖像數(shù)據(jù)采集電路采用OV5640圖像傳感器,其內(nèi)部集成感光陣列、增益放大器、10位模數(shù)轉(zhuǎn)換器ADC、圖像處理單元和時序發(fā)生器[5]。感光陣列將光信號轉(zhuǎn)換成模擬信號,經(jīng)過增益放大后進(jìn)入10位模數(shù)轉(zhuǎn)換器;ADC轉(zhuǎn)換器將模擬信號轉(zhuǎn)換為數(shù)字信號,圖像處理單元對數(shù)字信號進(jìn)行壓縮、格式化等處理,在時序發(fā)生器的作用下,將圖像數(shù)據(jù)流按一定的時序輸出。

在圖像數(shù)據(jù)流傳輸過程中,首先反熔絲FPGA通過SCCB總線初始化OV5640圖像傳感器,設(shè)置傳感器內(nèi)部系統(tǒng)時鐘、輸出圖像數(shù)據(jù)格式、水平和垂直像素點(diǎn)大小、曝光和白平衡等參數(shù)。在圖像傳感器初始化完成后,反熔絲FPGA通過DVP數(shù)字圖像接口采集圖像數(shù)據(jù),并將采集到的數(shù)據(jù)存入外部64Mbit SRAM緩存。在一幀圖像數(shù)據(jù)緩存完后,將SRAM中的數(shù)據(jù)送入LCD驅(qū)動模塊并按相應(yīng)時序進(jìn)行顯示。在固定時間循環(huán)反復(fù)進(jìn)行圖像數(shù)據(jù)采集、存儲,顯示等操作,完成圖像數(shù)據(jù)的更新。

3 反熔絲FPGA程序設(shè)計

反熔絲FPGA是一次可編程器件,不像其他可重復(fù)編程的FPGA,程序一旦燒錄進(jìn)反熔絲FPGA中將無法修改,若程序運(yùn)行不正確,則需要更換FPGA后重新固化程序,不利于代碼的調(diào)試,而且增加了設(shè)計成本。所以在代碼的前期設(shè)計和調(diào)試時,采用可反復(fù)擦寫的FPGA驗(yàn)證代碼的邏輯功能,在邏輯功能驗(yàn)證通過后,再將代碼移植到反熔絲FPGA開發(fā)平臺下。

反熔絲FPGA開發(fā)平臺是基于 Libero9.2 IDE軟 件,其 集 成Synplify編譯綜合、Modelsim仿真、時序約束、布局布線、以及生成反熔絲FPGA燒寫文件,最后通過專用燒錄器將程序文件固化到國產(chǎn)反熔絲FPGA中。反熔絲FPGA程序設(shè)計流程如下圖2所示。

圖2 反熔絲FPGA程序設(shè)計流程框圖

3.1 邏輯代碼設(shè)計與調(diào)試

在邏輯代碼前期設(shè)計與調(diào)試中,采用Altera公司EP2C20F484C8型FPGA作為邏輯代碼功能驗(yàn)證FPGA。此SRAM型FPGA不僅可以反復(fù)擦寫,而且其內(nèi)部自帶有SignalTap邏輯分析儀工具,便于程序的修改和調(diào)試,極大的提高了代碼開發(fā)的效率。

演示系統(tǒng)代碼設(shè)計采用自頂向下的模塊化分層設(shè)計,有利于功能劃分和模塊復(fù)用。具體的功能模塊設(shè)計如下圖3所示。

圖3 邏輯代碼模塊框圖

在代碼設(shè)計完成后,利用Altera公司FPGA自帶的SignalTap工具,對代碼進(jìn)行調(diào)試。在圖3底部列出的圖像數(shù)據(jù)捕獲模塊中,為了便于觀測捕獲的圖像數(shù)據(jù),先將圖像傳感器配置成輸出彩條模式,期望的輸出效果和采用SignalTap工具抓取到的圖像數(shù)據(jù)如圖4所示。由圖4可以看出,SignalTap抓取的彩條數(shù)據(jù)與期望的輸出數(shù)據(jù)一致,此模塊采用SignalTap調(diào)試正常。利用此工具調(diào)試完成所有邏輯模塊的功能。

圖4 SignalTap抓取圖像傳感器輸出彩條圖像數(shù)據(jù)

3.2 Libero時序約束及優(yōu)化

在代碼邏輯功能驗(yàn)證通過后,將代碼移植到Actel公司的Libero IDE編程環(huán)境下,繼續(xù)完成反熔絲FPGA的后續(xù)設(shè)計工作。在Synplify綜合工具中添加FDC約束文件,其主要約束了程序的外部時鐘頻率、生成時鐘頻率以及IO端口[6]最大、最小延遲等參數(shù)。通過編譯綜合、布局布線后,時序報告顯示移植的源代碼最高頻率只能工作在43.476MHz,不滿足系統(tǒng)時鐘頻率50MHz的設(shè)計要求,如下圖5所示。而SRAM型FPGA在相同條件下,時序報告顯示工作頻率在66.42MHz,滿足系統(tǒng)設(shè)計要求,如下圖6所示。

圖5 反熔絲型FPGA時序分析報告

圖6 SRAM型FPGA時序分析報告

在Libero開發(fā)平臺下,基于反熔絲FPGA的代碼時鐘頻率不滿足設(shè)計要求,根據(jù)FPGA內(nèi)部時序分析的基本原理,影響時鐘頻率的主要原因是部分路徑的延遲太長,造成FPGA內(nèi)部寄存器的建立時間Tsu不滿足要求。所以為了提高設(shè)計的主頻,需要對建立時間Tsu違規(guī)的路徑進(jìn)行分析和優(yōu)化。通過以下三種優(yōu)化方法和思路,可以將此演示系統(tǒng)代碼主頻提高40%左右。

(1)通過Libero平臺下的SmartTime時序分析工具,可以查看具體哪個路徑的建立時間余量最小,如下圖7所示。將此路徑對應(yīng)到源代碼中分析,可以看出是代碼中構(gòu)建的一個128位寬的寄存器變量,影響了整體的性能。所以對此寄存器變量的位寬進(jìn)行拆分,將一個128位寬的寄存器拆分成兩個64位寬的寄存器變量。通過拆分的方法和思路,可以將此寄存器相關(guān)的路徑都約束至?xí)r序收斂。

圖7 部分違規(guī)路徑時序分析報告

(2)采用拆分的方法處理后,時序報告中還存在某些路徑建立時間Tsu不滿足要求,這時需要采用第二種方法:在延遲較大的組合邏輯路徑中插入寄存器,優(yōu)化路徑的建立保持時間,使時序滿足設(shè)計要求,如下圖8所示。

圖8 插入寄存器優(yōu)化時序路徑

(3)此外Libero開發(fā)軟件在布局布線過程中,也能設(shè)定布局布線的優(yōu)化程度。布局布線優(yōu)化程度越高,代碼的主頻速度越快,可是利用此方法提高速度效果有限。

除了對建立時間Tsu違規(guī)路徑優(yōu)化外,還需要查看保持時間Th是否存在違規(guī)路徑。通常FPGA內(nèi)部寄存器保持時間Th違規(guī),主要是時鐘偏斜造成的。在程序設(shè)計過程中,盡量使用全局時鐘資源,避免使用分頻產(chǎn)生的時鐘作為寄存器的驅(qū)動時鐘,這樣可以有效減少時鐘偏斜,在時序分析時不會產(chǎn)生保持時間違規(guī)路徑。

通過以上方法和思路,對時序約束不滿足要求的路徑逐一進(jìn)行分析和優(yōu)化,最終使程序穩(wěn)定運(yùn)行的頻率提高到61.2MHz,滿足50MHz的頻率設(shè)計要求,如下圖9所示。

圖9 優(yōu)化后的時序分析報告

4 結(jié)束語

本文利用國產(chǎn)百萬門級反熔絲FPGA進(jìn)行應(yīng)用演示系統(tǒng)設(shè)計,從硬件功能劃分、程序設(shè)計、代碼優(yōu)化等幾方面展開介紹,并最終將代碼固化到實(shí)際反熔絲FPGA中驗(yàn)證,演示系統(tǒng)實(shí)現(xiàn)了幻燈片、圖像采集、音頻播放、電機(jī)驅(qū)動等功能,符合預(yù)期的演示效果。通過對比常用SRAM型FPGA和反熔絲型FPGA在時序分析時的差異,點(diǎn)明在反熔絲FPGA開發(fā)流程中時序約束的重要性。為將來國產(chǎn)百萬門級反熔絲FPGA的應(yīng)用推廣,提供一定的實(shí)際參考意義。

猜你喜歡
熔絲寄存器時序
顧及多種弛豫模型的GNSS坐標(biāo)時序分析軟件GTSA
熔絲制造的三維連續(xù)編織填充圖案
清明
Lite寄存器模型的設(shè)計與實(shí)現(xiàn)
基于不同建設(shè)時序的地鐵互聯(lián)互通方案分析
2017款別克君越車蓄電池經(jīng)常虧電
二進(jìn)制翻譯中動靜結(jié)合的寄存器分配優(yōu)化方法
D 2017款別克新君越ECM模塊刷新失敗
移位寄存器及算術(shù)運(yùn)算應(yīng)用
基于FPGA 的時序信號光纖傳輸系統(tǒng)
绥棱县| 武隆县| 太白县| 洞头县| 石台县| 克拉玛依市| 延吉市| 高阳县| 屯昌县| 额尔古纳市| 万宁市| 塘沽区| 上栗县| 利津县| 桂阳县| 温宿县| 扬州市| 济南市| 邵武市| 吉水县| 宁阳县| 竹溪县| 始兴县| 平果县| 吉隆县| 开平市| 克什克腾旗| 温宿县| 连平县| 兰西县| 沿河| 新龙县| 北票市| 盐池县| 新干县| 博湖县| 信阳市| 华阴市| 丹凤县| 通河县| 宁夏|