利用CPLD實(shí)現(xiàn)FPGA的快速加載
(4)加載模塊。當(dāng)檢測(cè)到CPU的標(biāo)志時(shí)CPLD開始發(fā)送數(shù)據(jù)對(duì)FPGA進(jìn)行加載,加載完成后對(duì)自身的發(fā)送完成標(biāo)志取反,關(guān)閉輸出使能。要注意不同芯片廠家的加載高低位順序不同。FPGA是靠dclk的上升沿來采樣數(shù)據(jù)的,所以在dclk的下降沿將數(shù)據(jù)從CPLD送出,這樣在FPGA端采樣時(shí)dclk的上升沿正好對(duì)著數(shù)據(jù)的中間,能獲得最大的時(shí)序窗口,如圖10所示。本文引用地址:http://2s4d.com/article/189703.htm
實(shí)現(xiàn)程序如圖11所示。
(5)加載結(jié)束后,F(xiàn)PGA將conf_done信號(hào)拉高,CPLD通知FPGA加載已經(jīng)完成。
3 功能、性能測(cè)試
為了驗(yàn)證方案的有效性,選用Altera的FPGA(EP4SGX530),CPLD(EPM570F256CS),MPC8548搭建了一個(gè)加載系統(tǒng),測(cè)試結(jié)果如圖12所示,橫軸表示時(shí)間,有固定周期的信號(hào)為dclk。由圖可知加載成功,加載時(shí)鐘頻率約為17 MHz??傮w加載時(shí)間可由conf_done信號(hào)指示,如圖所示橫軸表示時(shí)間,從圖上可以看出,加載一個(gè)10 MB大小的FPGA配置文件大約需要10 s。
4 結(jié)論
CPU直接對(duì)FPGA進(jìn)行加載的傳統(tǒng)方式,加載一個(gè)10 MB的FPGA配置文件大概需要100 s,利用CPLD對(duì)FPGA進(jìn)行加載,只需要約10 s(Local Bus的訪問周期約為200 ns,相對(duì)于CPLD對(duì)FPGA的加載時(shí)間可以忽略不計(jì),兩者可以并行進(jìn)行),加載速度提高了10倍左右。在有兩個(gè)甚至多個(gè)FPGA需要加載的系統(tǒng),其優(yōu)勢(shì)更為明顯。該方法對(duì)只要有CPU,CPLD和FPGA的系統(tǒng)即可移植,并且可以支持Altera,XILINX和LATTICE三大廠家的邏輯器件。
評(píng)論