相器IV5、反相器IV6、反相器IV7、二選一多路選 擇器MX61、二選一多路選擇器MX62和二輸入與門AND3 ;反相器IV4的輸入端接收來(lái)自通 用配置接口電路的片選信號(hào),反相器IV4的輸出端與二選一多路選擇器MX61的0輸入端相 連;反相器IV5的輸入端接收來(lái)自用戶配置接口電路的片選信號(hào),反相器IV5的輸出端與二 選一多路選擇器MX61的1輸入端相連;反相器IV6的輸入端接收來(lái)自通用配置接口電路的 寫使能信號(hào),反相器IV6的輸出端與二選一多路選擇器MX62的0輸入端相連;反相器IV7 的輸入端接收來(lái)自用戶配置接口電路的寫使能信號(hào),反相器IV7的輸出端與二選一多路選 擇器MX62的1輸入端相連;二選一多路選擇器MX61和二選一多路選擇器MX62的選擇控制 端與接口選擇模塊的輸出信號(hào)UserISel相連,二選一多路選擇器MX61和二選一多路選擇 器MX62的輸出端連接二輸入與門AND3的兩個(gè)輸入端,二輸入與門AND3的輸出端輸出控制 信號(hào)EN,該控制信號(hào)用于控制數(shù)據(jù)傳輸模塊中每個(gè)二輸入與非門的一個(gè)輸入端。
[0024] 與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果:
[0025] (1)本發(fā)明通過(guò)在傳統(tǒng)配置電路架構(gòu)中增加用戶配置接口電路,將用戶輸入輸出 端口(用戶I0B)與配置電路連接,為用戶輸入輸出端口能訪問(wèn)配置電路并完成動(dòng)態(tài)重配提 供了條件,使FPGA器件在置入用戶系統(tǒng)后仍可改變其內(nèi)部功能實(shí)現(xiàn)系統(tǒng)內(nèi)可重構(gòu),具有很 強(qiáng)的靈活性和可靠性,可很好的應(yīng)用于航天系統(tǒng)中,適應(yīng)惡劣的太空輻射環(huán)境。
[0026] (2)本發(fā)明中的用戶配置接口電路受FPGA中配置存儲(chǔ)器陣列中的SRAM單元控制, 而SRAM單元具有可以在線不限次地重新寫的特點(diǎn),這樣用戶配置接口電路可以多次反復(fù) 重新編程,提高了用戶應(yīng)用的靈活性;
[0027] (3)本發(fā)明中的總線接口電路采用二選一多路選擇器和32個(gè)寄存器,以及簡(jiǎn)單有 效的控制電路,實(shí)現(xiàn)了兼容系統(tǒng)輸入輸出端口并行配置、系統(tǒng)輸入輸出端口串行配置、用戶 輸入輸出端口并行配置三種工作模式,這種用戶配置接口和通用配置接口共用總線接口電 路的形式占用的電路資源較少,節(jié)省了FPGA芯片在物理實(shí)現(xiàn)時(shí)的版圖面積。
【附圖說(shuō)明】
[0028] 圖1為現(xiàn)場(chǎng)可編程門陣列FPGA的整體框圖;
[0029] 圖2為本發(fā)明配置電路的模塊圖;
[0030] 圖3為本發(fā)明所提出的用戶配置接口電路示意圖;
[0031] 圖4為多路選擇器MUX32的一種具體實(shí)現(xiàn)方式;
[0032] 圖5為本發(fā)明所提出的總線接口電路的數(shù)據(jù)傳輸模塊示意圖;
[0033] 圖6為總線接口電路控制模塊示意圖,其中(a)為接口選擇模塊示意圖,(b)為串 并選擇模塊示意圖,(c)為使能控制模塊。
【具體實(shí)施方式】
[0034] 本發(fā)明在傳統(tǒng)配置結(jié)構(gòu)的基礎(chǔ)上增加了用戶配置接口電路,以及對(duì)傳統(tǒng)配置電 路中的總線接口電路作出改進(jìn),使得FPGA芯片中的配置電路可以接收來(lái)自用戶輸入輸出 端口的配置數(shù)據(jù),由于FPGA芯片中用戶輸入輸出端口遠(yuǎn)多于系統(tǒng)輸入輸出端口,用戶在對(duì) FPGA芯片進(jìn)行重配時(shí)可以任意選擇用戶輸入輸出端口作為配置端口,這種可選擇可重配的 特性不僅提高了配置方式的靈活性,資源的充分利用,并且為FPGA芯片在宇航輻射應(yīng)用環(huán) 境下規(guī)避損壞模塊的需求提供了硬件基礎(chǔ)。
[0035] 本發(fā)明可通過(guò)用戶輸入輸出端口完成FPGA重配的配置電路如圖2所示。包括通 用配置接口電路、用戶配置接口電路、總線接口電路、配置總線、配置寄存器、配置狀態(tài)機(jī)和 配置存儲(chǔ)器陣列;
[0036] 通用配置接口電路接收用戶通過(guò)系統(tǒng)輸入輸出端口輸入的通用配置控制信號(hào)、時(shí) 鐘信號(hào)及數(shù)據(jù)信號(hào),輸出給總線接口電路;所述通用配置控制信號(hào)包括片選信號(hào)寫使 能信號(hào)WRITE和模式選擇信號(hào)M0、M1、M2 ;
[0037] 用戶配置接口電路在FPGA重配時(shí),接收用戶通過(guò)任意用戶輸入輸出端口輸入的 用戶配置控制信號(hào)、時(shí)鐘信號(hào)及數(shù)據(jù)信號(hào),輸出給總線接口電路;所述用戶配置控制信號(hào)包 括片選信號(hào)炫和寫使能信號(hào)WRITE;
[0038] 總線接口電路在配置時(shí)接收通用配置接口電路輸入的數(shù)據(jù)信號(hào),在重配時(shí)接收通 用配置接口電路或用戶配置接口電路輸入的數(shù)據(jù)信號(hào),將接收的信號(hào)轉(zhuǎn)化為32位的配置 數(shù)據(jù)IDB[31:0]輸出給配置總線;配置總線將接收的32位配置數(shù)據(jù)輸出給配置寄存器;配 置寄存器解析配置數(shù)據(jù)中的地址信息,根據(jù)解析出的地址信息將該配置數(shù)據(jù)寫入到配置存 儲(chǔ)器陣列相應(yīng)的地址位;配置狀態(tài)機(jī)用于控制通用配置接口電路、用戶配置接口電路、總線 接口電路、配置總線、配置寄存器和配置存儲(chǔ)器陣列的工作時(shí)序,以及控制通用配置接口電 路或用戶配置接口電路的數(shù)據(jù)選通;
[0039] 配置存儲(chǔ)器陣列接收配置寄存器寫入的配置數(shù)據(jù),控制用戶配置接口電路和總線 接口電路的數(shù)據(jù)選通;
[0040] 其中數(shù)據(jù)信號(hào)包括配置地址信息和配置數(shù)據(jù)信息。
[0041] 用戶配置接口電路如圖3所示,包括11個(gè)32選1多路選擇器MUX32、11個(gè)半鎖存 器HalfLatch以及11個(gè)緩沖器buffer;每個(gè)MUX32的輸入端與用戶輸入輸出端口連接, 輸出端通過(guò)一個(gè)半鎖存器HalfLatch與一個(gè)緩沖器buffer連接,緩沖器buffer的輸出 與總線接口電路連接,11個(gè)MUX32的輸入標(biāo)注為UserIOl,UserI02,. . .UserI032,多路選 擇器的選擇控制端由配置存儲(chǔ)器陣列中的SRAM單元控制,標(biāo)注為SO,S1,…S11,這11個(gè)多 路選擇器MUX32在SRAM單元的控制下將來(lái)自用戶輸入輸出端口的輸入選通輸出到標(biāo)注為 UserI0_D0,UserI0_Dl,UserI0_D2,UserI0_D3,UserI0_D4,UserI0_D5,UserI0_D6,UserI0_ D7,UserI0_CLK,UserI0_CS,UserIOJVrite的輸出端;其中的UserI0_D0,UserI0_ Dl,UserI0_D2,UserI0_D3,UserI0_D4,UserI0_D5,UserI0_D6,UserI0_D7 為使用用戶輸入 輸出端口進(jìn)行動(dòng)態(tài)重配時(shí)的數(shù)據(jù)輸入,UserI0_D0為最高有效位;其中的UserI0_CLK為 使用用戶輸入輸出端口進(jìn)行動(dòng)態(tài)重配時(shí)的時(shí)鐘輸入,其上升沿觸發(fā)輸入端的數(shù)據(jù)被寄存; UserI0_CS,UserI0_Write分別為使用用戶輸入輸出端口進(jìn)行動(dòng)態(tài)重配時(shí)的片選信號(hào)和寫 使能信號(hào)。
[0042] 圖4為32選1多路選擇器MUX32的一種具體實(shí)現(xiàn)方式,第一級(jí)由四組8選1多路 選擇器組成,這四組的輸入來(lái)自不同的用戶輸入輸出端口,而控制端均由SO~S7,8個(gè)SRAM 位控制,在通過(guò)用戶輸入輸出端口進(jìn)行重配時(shí),控制SRAM位SO~S7中只有一位為"1",其 他為"0",每組選通一路送入第二級(jí)4選1多路選擇器,由4個(gè)SRAM位S8~Sll選通4選 1多路選擇器中的一路,最終輸出到UserI(U)O信號(hào)線上。通過(guò)在用戶輸入輸出端口(用戶 I0B)與配置電路的總線接口電路之間增加類似圖3中這些--由SRAM單元控制的多路選 擇器一一作為兩者之間連接的"橋梁",為用戶輸入輸出端口能訪問(wèn)配置電路,并完成動(dòng)態(tài) 重配提供了初步條件。
[0043] 本發(fā)明的另外一個(gè)重要內(nèi)容在于對(duì)傳統(tǒng)配置電路中的總線接口電路作了改進(jìn),改 進(jìn)后的總線接口電路如圖5所示。
[0044] 總線接口電路將來(lái)自接口電路的不同位寬的配置碼流轉(zhuǎn)化為32位的配置數(shù)據(jù) IDB[31:0],輸出給配置總線。圖6為圖5中總線接口電路的控制邏輯,包括接口選擇模塊、 串并選擇模塊和使能控制模塊。
[0045] 接口選擇模塊如圖6中(a)所示,其中的反相器IVl接收來(lái)自配置狀態(tài)機(jī)的 Persist信號(hào),輸出給二輸入與門ANDl;反相器IV2受配置存儲(chǔ)器陣列中的SRAM單元控制 (S信號(hào)),所述SRAM單元用于控制是否接收用戶配置接口電路輸入的數(shù)據(jù),反相器IV2的 輸出給二輸入與門AND2 ;二輸入與門AND2的另一個(gè)輸入端接收來(lái)自配置狀態(tài)機(jī)的啟動(dòng)完 成信號(hào)EOS,二輸入與門AND2的輸出端與二輸入與門ANDl的另一個(gè)輸入端相連;二輸入與 門ANDl的輸出端輸出控制信號(hào)UserISel;
[0046] 串并選擇模塊如圖6中(b)所示,其中異或門XORl的兩個(gè)輸入端分別接收通用配 置接口電路的模式選擇信號(hào)MO和M2,異或門的輸出端與二輸入與非門NANDl的一個(gè)輸入端 相連;二輸入與非門NANDl的另一個(gè)輸入端接收通用配置接口電路的模式選擇信號(hào)M1,二 輸入與非門NANDl的輸出端與二輸入與非門NAND2的一個(gè)輸入端相連;反相器IV3的輸入 端接收?qǐng)D6 (a)中接口選擇模塊的輸出信號(hào)UserISel,反相器IV3的輸出端與二輸入與非門 NAND2的另一個(gè)輸入端相連;二輸入與非門NAND2的輸出端輸出控制信號(hào)Paral。
[0047] 使能控制模塊如圖6中(c)所示,其中反相器IV4的輸入端接收來(lái)自通用配置接 口電路的片選信號(hào),反相器IV4的輸出端與二選一多路選擇器MX61的0輸入端相連;反相 器IV5的輸入端接收來(lái)自用戶配置接口電路的片選信號(hào),反相器IV5的輸出端與二選一多 路選擇器MX61的1輸入端相連;反相器IV6的輸入端接收來(lái)自通用配置接口電路的寫使 能信號(hào),反相器IV6的輸出端與二選一多路選擇器MX62的0輸入端相連;反相器IV7的輸 入端接收來(lái)自用戶配置接口電路的寫使能信號(hào),反相器IV7的輸出端與二選一多路選擇器 MX62的1輸入端相連;二選一多路選擇器MX61和二選一多路選擇器MX62的選擇控制端與 圖6中(a)的接口選擇模塊的輸出信號(hào)UserISel相連,二選一多路選擇器MX61和二選一 多路選擇器MX62的輸出端連接二輸入與門AND3的兩個(gè)輸入端,二輸入與門AND3的輸出端 輸出控制信號(hào)EN。
[0048] 總線接口電路包含第一二選一多路選擇器組、第二二選一多路選擇器組、32個(gè)二 輸入與非門以及32個(gè)寄存器,第一二選一多路選擇器組包括9個(gè)二選一多路選擇器,分別 記為MX1、MX2、MX3、MX4、MX5、MX6、MX7、MX8、MX10,這些二選一多路選擇器的0輸入端與通 用配置接口電路相連,接收來(lái)自系統(tǒng)輸入輸出端口的信號(hào),依次對(duì)應(yīng)為D7_PAD、D6_PAD、D5_ PAD、D4_PAD、D3_PAD、D2_PAD、D1_PAD、D0_