《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > FPGA教學(xué)——如何將易靈思FPGA干到750MHz(1080P顯示)

FPGA教學(xué)——如何將易靈思FPGA干到750MHz(1080P顯示)

2022-08-29
作者:電子技術(shù)應(yīng)用專欄作家 瘋狂的FPGA
來源:電子技術(shù)應(yīng)用專欄作家 瘋狂的FPGA
關(guān)鍵詞: FPGA 易靈思

  前陣子寫過一篇文章《如何才能半導(dǎo)體雪崩中活下來》,,然后昨天任老爺子就發(fā)布了講話,,即接下來是全球經(jīng)濟(jì)衰退期,為了保證度過未來三年的“經(jīng)濟(jì)”危機(jī),縮減業(yè)務(wù),,核心聚焦,,不再關(guān)注銷售額,,而是現(xiàn)金流/利潤為王,。

  微信圖片_20220829173338.png

  為了活下來,我們可以躺平,;我們需要臥薪嘗膽,,既然不適合去轟轟烈烈趕一把,我們反而可以利用這段時間,,臥薪嘗膽,,好好學(xué)習(xí),。前陣子出差+工作耽擱了下,內(nèi)心無比愧疚,,今天重新開始學(xué)習(xí)分享FPGA知識,,歡迎各位斧正。

  拿來主義的好處就是,,相對效率會更高一點,,并且試錯成本還低很多。那么在此感謝原廠FAE王奇搶先一步在我的開發(fā)板商移植HDMI,,讓我們在易靈思Ti60 FPGA上一睹為快,。

  微信圖片_20220829173358.png

  易靈思鈦金系列FPGA Ti60F255的開發(fā)板,出爐已經(jīng)有一些日子了,,板載HDMI電路理論上是成熟的(別家FPGA上我驗證過),,但卻一直沒能擠出時間來移植一下HDMI 1.4的顯示方案,今天我們就來挑戰(zhàn)一下IO模擬1080P60,,把易靈思Ti60 FPGA干到750MHz主頻,!

  微信圖片_20220829173410.png

  這部分采用FPGA模擬的話,電路其實非常簡單,,加了EMC芯片后的原理圖如下所示,。

  微信圖片_20220829173422.png

  HDMI 采用和 DVI 相同的傳輸原理——TMDS最小化傳輸差分信號。TMDS 傳輸系統(tǒng)分為兩個部分:發(fā)送端和接收端,。TMDS 發(fā)送端收到HDMI 接口傳來的24bit RGB信號,,然后對這些數(shù)據(jù)進(jìn)行編碼和并/串轉(zhuǎn)換,再將RGB 信號的數(shù)據(jù)分別分配到獨立的傳輸通道發(fā)送出去,。接收端接收來自發(fā)送端的串行信號,對其進(jìn)行解碼和串/并轉(zhuǎn)換,,然后發(fā)送到顯示器的控制端,;與此同時也接收時鐘信號,以實現(xiàn)同步,。

  微信圖片_20220829173438.png

  網(wǎng)上很多FPGA模擬HDMI PHY的設(shè)計,,可參見https://zhuanlan.zhihu.com/p/435937460。其中以Digilent的HDMI IP最為常見,,其采用VHDL模擬TMDS,,用FPGA實現(xiàn)HDMI的收發(fā),節(jié)省了外部PHY芯片的成本(https://github.com/Digilent/vivado-library),。

  微信圖片_20220829173449.png

  Digilent HDMI IP方案,,后來很多朋友其他平臺上都有移植,我也在Xilinx和安路上都有移植測到過,,其采用VHDL實現(xiàn),,稍微有點復(fù)雜,。不過今天我將在FAE王奇的基礎(chǔ)上,消化吸收另一個HDMI tx ip(采用Verilog編寫,,結(jié)構(gòu)很簡單),,在易靈思Ti60 FPGA挑戰(zhàn)下1080P60(其實主頻主要還是看收發(fā)器的速率)。這里也感謝這個HDMI IP創(chuàng)作者的勞動果實,,Verilog Header如下:

  微信圖片_20220829173459.png

  給出目前的框圖,,如下所示,外部輸入25M,,由Interface的PLL生成150/750MHz(離開148.5MHz有點偏差也沒關(guān)系),,hdmi_ip接收前面測試的RGB數(shù)據(jù)后,模擬HDMI協(xié)議發(fā)送給外部,,在顯示器上顯示,。由于TMDS用10bit編碼,F(xiàn)PGA采用DDR模式進(jìn)行數(shù)據(jù)發(fā)送,,因此當(dāng)串行時鐘是像素時鐘的10/2=5倍,。

  微信圖片_20220829173510.png

  我們在Interface中配置PLL,這里輸入25M,,輸出150+750MHz,,如下圖所示:

  微信圖片_20220829173520.png

  另外,這里的關(guān)鍵是我們采用易靈思的Double Data IO,,配置如下,,這里將hdmi_tx_data和hdmi_tx_clk都打開了resync模式:

  微信圖片_20220829173536.png

  查詢Efinity help文檔,可以看到DDIO的Resync Mode,,用戶在Clock下降沿輸入OUT0+OUT1,,GPIO在上升沿輸出OUT0,在Clock下降沿輸出OUT1,,從而達(dá)到了倍頻的目的(這里的HI就是OUT0,,LO就是OUT1)。

  微信圖片_20220829173550.png

  那么在代碼中,,我們需要驅(qū)動GPIO DDIO前的HI與LO,,我們的頂層代碼如下:

  微信圖片_20220829173602.png

  這部分通過serdes_4b_10to1.v文件編碼輸出,相關(guān)代碼如下所示:

  微信圖片_20220829173615.png

  最后,,采用Efinity進(jìn)行綜合,,上圖中的邏輯跑到了750MHz,DDIO實現(xiàn)了1.5Gbps的帶寬,。DDIO 1.5Gbps已經(jīng)是易靈思的瓶頸了,,雖然時序有一點小違例(150M到750M跨時鐘域部分電路),但是HDMI 1080P60已經(jīng)成功顯示,,如下所示(盜用8年前的圖,,懶得拍),。

  微信圖片_20220829173628.png

  本來打算移植LVDS模式,但是頻率上不去,,目前懷疑HDMI電路還得加上拉電阻,,當(dāng)前版本省略了,以后有機(jī)會再試試,。下一步,,上T35移植HDMI測試一下能跑到多少頻率,至少應(yīng)該能跑720P吧,?

  微信圖片_20220829173641.png

  本文配套開發(fā)板Ti60F225 FPGA開發(fā)板,,請轉(zhuǎn)crazyfpga.taobao.com(CB電子鋪)了解更多。

  對易靈思FPGA感興趣的朋友,,歡迎進(jìn)FPGA微信群交流,,我們共同進(jìn)步,等待疫情過去,,我們重新坐起來,。

  由于群規(guī)模在短時間內(nèi)超過了200人,無法再掃碼入群,,請有興趣的朋友添加客服同學(xué)的微信,,再邀請入群。

  微信圖片_20220829173808.png

  關(guān)于FPGA國產(chǎn)替代,,以及FPGA解決方案咨詢,,歡迎加入知識星球一對一探討交流,碰撞思維火花,。


 更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

微信圖片_20210517164139.jpg

1000122090-6379289281843256232178998.png

電子技術(shù)應(yīng)用專欄作家: 瘋狂的FPGA 


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。