PAD 和 CCLK_PAD,這些二選一多路選擇器的 1 輸 入端與用戶配置接口電路的32選1多路選擇器MUX32的輸出相連,依次對應為UserI0_ D7、UserI0_D6、UserI0_D5、UserI0_D4、UserI0_D3、UserI0_D2、UserI0_Dl、UserI0_D0 和 UserI0_CCLK,第一二選一多路選擇器組的選擇控制端受圖6中(a)的接口選擇模塊的輸 出信號UserISel控制,這個信號決定選擇使用系統(tǒng)輸入輸出端口還是用戶輸入輸出端口 輸入的數據信號;第二二選一多路選擇器組包括32個二選一多路選擇器,記為MX1UMX12、 MX13、MX14、MX15、MX16、MX17、MX18、MX19,......MX40、MX41、MX42 ;這 32 個二選一多路 選擇器的輸出分別送到32個與非門的一個輸入端,而這32個與非門的另外一個輸入端連 接在一起受圖6的(c)中使能控制模塊的輸出信號EN控制,用于決定總線接口電路是否 使能工作;32個與非門的輸出端分別與32個寄存器的數據輸入端相連,這32個寄存器依 次標注為RUR2、R3、R4、R5、R6、R7、R8、R9、RIO、R11、......R30、R31、R32,這 32 個寄存 器的時鐘控制端與第一組二選一多路器中的MlO的輸出相連,32個寄存器的輸出依次標 注為IDB〈0>、IDB〈1>、IDB〈2>、IDB〈3>、IDB〈4>、IDB〈5>、IDB〈6>、IDB〈7>、IDB〈8>、IDB〈9>、 IDB<10>.......IDB〈29>、IDB〈30>、IDB〈31> ;第二二選一多路選擇器組中32個二選一多路 選擇器中的前8個,即MX11、MX12、MX13、MX14、MX15、MX16、MX17、MX18的0輸入端分別連 接DO_PAD、IDB〈0>、IDB〈1>、IDB〈2>、IDB〈3>、IDB〈4>、IDB〈5>、IDB〈6>,1 輸入端分別連接第 一二選一多路選擇器組MXl、MX2、MX3、MX4、MX5、MX6、MX7、MX8的輸出,第二二選一多路選擇 器組中余下的 24 個二選一多路選擇器即M19、M20、M21、M22、M23、M24、M25、M26、M27、M28、 M29、M30、M31、M32、M33、M34、M35、M36、M37、M38、M39、M40、M41、M42 的O輸入端分別連接 IDB〈7>、IDB〈8>、IDB〈9>、IDB〈10>、IDB〈11>、IDB〈12>、IDB〈13>、IDB〈14>、IDB〈15>、IDB〈16>、 IDB〈17>、IDB〈18>、IDB〈19>、IDB〈20>、IDB〈21>、IDB〈22>、IDB〈23>、IDB〈24>、IDB〈25>、 IDB〈26>、IDB〈27>、IDB〈28>、IDB〈29>、IDB〈30>,這 24 個二選一多路選擇器的I輸入端分別 連接IDB〈0>、IDB〈1>、IDB〈2>、IDB〈3>、IDB〈4>、IDB〈5>、IDB〈6>、IDB〈7>、IDB〈8>、IDB〈9>、 IDB〈10>、IDB〈11>、IDB〈12>、IDB〈13>、IDB〈14>、IDB〈15>、IDB〈16>、IDB〈17>、IDB〈18>、 IDB〈19>、IDB〈20>、IDB〈21>、IDB〈22>、IDB〈23>,第二二選一多路選擇器組的選擇控制端受 圖6中(b)的串并選擇模塊的輸出信號Paral控制,在串行配置模式時選通O輸入端,在并 行配置模式時選通1輸入端。
[0049] 圖5中的總線接口電路在圖6電路的控制下可兼容三種工作模式,系統(tǒng)輸入輸出 端口的并行配置模式、系統(tǒng)輸入輸出端口的串行配置模式和用戶輸入輸出端口的并行配置 模式,用戶可根據自身需求選擇其中的一種完成對FPGA的配置。下面將結合圖6中的控制 電路對圖5中總線接口電路在每種工作模式下的詳細情況做出介紹:
[0050] -、系統(tǒng)輸入輸出端口(系統(tǒng)I0B)使能的8數據位寬并行配置
[0051] 根據圖6(a)中的控制電路我們可以看出,Persist信號使能(Persist= 1)時, UserISel信號為0??刂菩盘朠ersist的意義在于維持系統(tǒng)輸入輸出端口的配置功能。 UserISel信號作用在圖 5 中二選一多路選擇器MX1、MX2、MX3、MX4、MX5、MX6、MX7、MX8、MX10 的控制端上,其為〇時多路選擇器的〇輸入端選通,上述9個二選一多路器會將來自系統(tǒng)輸 入輸出端口(系統(tǒng)I〇B)DO_PAD~D7_PAD及CCLK_PAD的信號輸出。此時若圖6中(b)的 配置模式選擇信號Ml為1并且MO與M2互異,產生的并行信號Paral為1。圖5中32個二 選一多路選擇器MX11、MX12、MX13、MX14......MX40、MX41、MX42的1輸入端選通。圖6中 (c)的電路在UserISel信號為0時,輸入端的/CS_PAD和/Write_PAD信號起作用,在FPGA配置期間,來自系統(tǒng)輸入輸出端口的/CS_PAD片選信號和/Write_PAD寫使能信號均為0,因 此輸出的EN信號為1。
[0052] 在這種工作模式下圖5中總線接口電路接收來自系統(tǒng)輸入輸出端口D0_PAD~D7_ PAD的8位寬的配置數據,在系統(tǒng)時鐘端口CCLK_PAD的第一個上升沿觸發(fā)寄存器組將D0_ PAD~D7_PAD上的8位數據存儲并輸出到IDB〈7>~IDB〈0>端;IDB〈7>~IDB〈0>端經過 二選一多路器MX19、MX20、MX21、MX22、MX23、MX24、MX25、MX26的選通,又分別作為寄存器 R9~R16的輸入,在CCLK_PAD的第二個上升沿觸發(fā)寄存器組將IDB〈7>~IDB〈0>端的數 據存儲并輸出到IDB〈15>~IDB〈8>端;同樣的在CCLK_PAD的第三個上升沿觸發(fā)寄存器組 將IDB〈15>~IDB〈8>端的數據存儲并輸出到IDB〈23>~IDB〈16>端;在CCLK_PAD的第四 個上升沿觸發(fā)寄存器組將IDB〈23>~IDB〈16>端的數據存儲并輸出到IDB〈31>~IDB〈24> 端。這樣總線接口電路通過四個時鐘周期完成了將來自系統(tǒng)輸入輸出端口 8位寬的配置碼 流轉化為32位的配置數據IDB[31:0],輸出給配置總線的工作。
[0053] 二、用戶輸入輸出端口(用戶I0B)使能的8數據位寬并行配置
[0054] 總線接口電路的這種工作狀態(tài)同樣是受圖6中電路的控制。Persist信號不使能 (Persist= 0)時,并且來自配置SRAM的信號Sx為0,啟動完成信號EOS為1時,UserISel信號為 1。此時圖 5 中二選一多路選擇器MXl、MX2、MX3、MX4、MX5、MX6、MX7、MX8、MXl(^9l 輸入端選通,這9個多路選擇器的輸出為來自用戶輸入輸出端口(用戶I0B)UserI0_D0~ UserI0_D7及UserIOJXLK的信號。UserISel信號為1時圖6中(b)的并行信號Paral也 為 1,圖 5 中第二二選一多路選擇器組中MX11、MX12、MX13、MX14......MX40、MX41、MX42 同 樣也是1輸入端選通。圖6中(c)的電路在UserISel信號為1時,輸入端的UserI0_CS和UserI0_Write信號起作用,在FPGA配置期間,來自用戶輸入輸出端口的片選信號和寫使能 信號也均為0,輸出的EN信號為1。
[0055] 在這種工作模式下總線接口電路接收來自用戶輸入輸出端口UserI0_D0~ UserI0_D7的8位寬的配置數據,在用戶時鐘端口UserI0_CCLK的第一個上升沿觸發(fā)寄存器 組將UserI0_D0~UserI0_D7上的8位數據存儲并輸出到IDB〈7>~IDB〈0>端;IDB〈7>~ IDB〈0> 端經過二選一多路器MX19、MX20、MX21、MX22、MX23、MX24、MX25、MX26 的選通,又分 別作為寄存器R9~R16的輸入,在UserIOJXLK的第二個上升沿觸發(fā)寄存器組將IDB〈7>~ IDB〈0>端的數據存儲并輸出到IDB〈15>~IDB〈8>端;同樣的在UserIOJXLK的第三個上 升沿觸發(fā)寄存器組將IDB〈15>~IDB〈8>端的數據存儲并輸出到IDB〈23>~IDB〈16>端;在 UserIOJXLK的第四個上升沿觸發(fā)寄存器組將IDB〈23>~IDB〈16>端的數據存儲并輸出到 IDB〈31>~IDB〈24>端。這樣總線接口電路完成了將來自用戶輸入輸出端口 8位寬的配置 碼流轉化為32位的配置數據IDB[31:0],輸出給配置總線的工作。
[0056] UserI0_D0 ~UserI0_D7、UserI0_CCLK、UserI0_CS和UserIOJVrite可以為圖 1 中 用戶輸入輸出模塊(IOB)中的任何一個,而不必再通過幾個固定的系統(tǒng)輸入輸出模塊(系 統(tǒng)I0B)進行FPGA芯片的重配置工作。這種可選擇性不僅提高了配置方式的靈活性,資源 的充分利用,更重要的是在空間應用中可以規(guī)避對固定資源的依賴。
[0057] 三、系統(tǒng)輸入輸出端口(系統(tǒng)10B)使能的串行配置
[0058] 圖5中總線接口電路還兼容一種串行的配置模式。此時圖6(b)中UserISel信 號為〇,配置模式選擇信號Ml為1、MO與M2邏輯相同,或者配置模式選擇信號Ml為0 時,產生的Paral信號為0。此時圖5中第二二選一多路選擇器組中MX11、MX12、MX13、 MX14......MX40、MX41、MX42的0輸入端選通。這樣D0_PAD端的配置數據在第一個時鐘周 期被寄存器Rl寄存并輸出到IDB〈0>信號線上,IDB〈0>信號又通過二選一多路選擇器MX12 的〇端輸出到