中的互連元件的數(shù)目取決于所述單元片的高度。在所描畫的實(shí)施例中,BRAM單元片具有與五個(gè)CLB相同的高度,但也可使用其它數(shù)目(例如,四個(gè))。除了適當(dāng)數(shù)目的可編程互連元件之外,DSP單元片106還可包含DSP邏輯元件(“DSPL”)114。除可編程互連元件111的一個(gè)例子之外,1B104還可包含(例如)輸入/輸出邏輯元件(“10L”)115的兩個(gè)例子。如所屬領(lǐng)域的技術(shù)人員將明白,連接(例如)到I/O邏輯元件115的實(shí)際I/O襯墊通常并不限于輸入/輸出邏輯元件115的區(qū)域。
[0028]在所描畫的實(shí)施例中,(圖1中所示出的)裸片的中心附近的水平區(qū)域用于配置、時(shí)鐘和其它控制邏輯。由這個(gè)水平區(qū)域或列延伸的垂直列109用于橫跨FPGA的寬度來分配時(shí)鐘和配置信號(hào)。
[0029]利用圖1中所說明的架構(gòu)的一些FPGA包含額外的邏輯塊,所述邏輯塊分裂組成FPGA較大部分的普通的柱狀結(jié)構(gòu)。所述額外的邏輯塊可為可編程塊和/或?qū)S眠壿嫛Ee例來說,處理器塊110跨越了幾列CLB與BRAM。
[0030]應(yīng)注意,圖1意圖僅僅說明例示性FPGA架構(gòu)。例如,行中的邏輯塊的數(shù)目、行的相對(duì)寬度、行的數(shù)目和次序、包含在行中的邏輯塊的類型、邏輯塊的相對(duì)大小以及包含在圖1頂部處的互連/邏輯實(shí)施方案僅僅是例示性的。舉例來說,在實(shí)際的FPGA中,通常每當(dāng)CLB出現(xiàn)時(shí)便包含CLB的一個(gè)以上相鄰行,以便于用戶邏輯的有效實(shí)施,但相鄰CLB行的數(shù)目隨FPGA的總體大小而變化。
[0031]圖2是描繪例示性芯片上系統(tǒng)(“SoC”)200的框圖。圖1的FPGA 100可為此類SoC 200,其可為如先前所描述的單塊裸片或多裸片堆疊或封裝,包含但不限于堆疊硅互連技術(shù)(“SSIT”)。
[0032]SoC 200包含一或多個(gè)串行器-并行器塊(“SERDES”) 201、輸入/輸出接口 221、數(shù)據(jù)測(cè)試塊209、處理單元230、鏈路測(cè)試塊203和一或多個(gè)媒體存取控制器(“MAC”) 202。沿著那些線,SoC 200可完全使用專用或嵌入硬件塊來形成。因此,SERDES 201可未直接耦合到可編程構(gòu)造資源,并且因此專用塊203和209可用于測(cè)試SERDES 201,如下文額外詳細(xì)描述。
[0033]在這個(gè)實(shí)例中,輸入/輸出接口 221被說明性地描繪為雙向多路復(fù)用器;但是,在輸入/輸出接口的其它配置中,可使用其它電路(即除雙向多路復(fù)用器以外)。在處理器231的控制下并經(jīng)由控制選擇信號(hào)222,多路復(fù)用器221可用于經(jīng)由數(shù)據(jù)測(cè)試塊接口 229來選擇數(shù)據(jù)測(cè)試塊209的任何一個(gè)SERDES 201。
[0034]另外,在這個(gè)實(shí)例中,應(yīng)假定,SERDES 201經(jīng)配置以執(zhí)行8b/10b編碼,換句話說,如果將8個(gè)、16個(gè)、24個(gè)等數(shù)據(jù)或其它信息位輸入到SERDES 201,那么SERDES 201可輸出對(duì)應(yīng)的10個(gè)、20個(gè)、30個(gè)等位,此些位包含此些數(shù)據(jù)或其它信息位以及編碼位。但是,在SERDES的其它配置中,可使用其它編碼(即,除8b/10b編碼以外)。
[0035]處理單元230可耦合到輸入/輸出接口 221以將控制選擇總線/信號(hào)222提供到其上從而控制至SERDES 201和自SERDES 201的存取。數(shù)據(jù)測(cè)試塊209可經(jīng)由輸入/輸出接口 221耦合到SERDES 201。處理單元230可經(jīng)由雙向總線。信令223耦合到數(shù)據(jù)測(cè)試塊209。為了允許數(shù)據(jù)測(cè)試塊209控制SERDES 201,測(cè)試代碼或其它軟件可寫入輸入控制寄存器234中的寄存器,所述輸入控制寄存器234用于經(jīng)由輸入/輸出接口 221來控制對(duì)SERDES 201 的存取。
[0036]處理單元230可包含處理器231、只讀存儲(chǔ)器(“ROM”)232、隨機(jī)存取存儲(chǔ)器(“RAM”) 233、控制寄存器234、微控制器接口 /總線到外圍總線橋接器(“橋接器”)235和微控制器接口 /總線開關(guān)(“開關(guān)”)236。處理器231可包含一或多個(gè)核心,并且可為中央處理單元。盡管處理單元230被描述為ARM處理單元,但是應(yīng)理解,根據(jù)本文中的描述,可使用任何處理單元。沿著那些線,應(yīng)假定,橋接器235是AXI到APB橋接器,并且開關(guān)236是AXI開關(guān)。但是,AXI和/或APB具有ARM特定性,并且可使用其它類型的處理單元基礎(chǔ)設(shè)施。
[0037]處理器231可耦合到ROM 232以執(zhí)行存儲(chǔ)于其中的啟動(dòng)代碼來啟動(dòng)SoC 200。處理器231可進(jìn)一步耦合到RAM 233以執(zhí)行測(cè)試代碼237,其中測(cè)試代碼237被加載到RAM233中并在處理器231的控制下經(jīng)執(zhí)行以便測(cè)試SERDES 201,如下文額外詳細(xì)描述。處理器231可包含經(jīng)耦合以用于與開關(guān)236的AXI受控器(slave) 239進(jìn)行通信的AXI主控器238。開關(guān)236可包含經(jīng)耦合以用于與橋接器235的AXI受控器241進(jìn)行通信的AXI主控器240。橋接器235可包含APB主控器242、243和244。APB主控器242可經(jīng)耦合以用于與控制寄存器234的APB受控器245通信。沿著那些線,在處理器231的控制下,測(cè)試代碼237可寫入控制寄存器234以導(dǎo)致控制寄存器234經(jīng)由控制總線/信號(hào)222將控制信令提供到輸入/輸出接口 221。APB主控器243可經(jīng)耦合以用于經(jīng)由媒體總線/信號(hào)225與MAC202通信。APB主控器244可經(jīng)耦合以用于與數(shù)據(jù)測(cè)試塊209的外圍總線塊212通信,所述外圍總線塊212對(duì)于這個(gè)實(shí)例來說可為APB受控器塊。外圍總線塊212可包含輸入控制寄存器213和輸出捕獲寄存器214。輸入控制寄存器213和輸出捕獲寄存器214可在測(cè)試代碼237的控制下經(jīng)由處理單元230來存取,如下文額外詳細(xì)描述。
[0038]處理器231可可控地執(zhí)行測(cè)試代碼237,其中此類測(cè)試代碼237包含針對(duì)用于測(cè)試SERDES 201的至少一個(gè)測(cè)試圖案進(jìn)行編碼。輸入控制寄存器213可在此類測(cè)試代碼237的控制下被寫入,以導(dǎo)致此類至少一個(gè)測(cè)試圖案被提供到SERDES 201。通過允許測(cè)試代碼237或其它軟件實(shí)施產(chǎn)品測(cè)試圖案,此些軟件可實(shí)施的產(chǎn)品測(cè)試圖案與常規(guī)經(jīng)硬編碼的測(cè)試圖案相比可更易于升級(jí)。
[0039]數(shù)據(jù)測(cè)試塊209可進(jìn)一步包含測(cè)試圖案產(chǎn)生器210和測(cè)試圖案檢查器211。響應(yīng)于寫入輸入控制寄存器213,耦合到此些輸入控制寄存器213的此類測(cè)試圖案產(chǎn)生器210可產(chǎn)生至少一個(gè)此類測(cè)試圖案,以用于經(jīng)由輸入/輸出接口 221將數(shù)據(jù)提供到SERDES 201。在這個(gè)實(shí)例中,測(cè)試圖案產(chǎn)生器210是線性反饋移位寄存器(“LFSR”)和偽隨機(jī)位序列(“PRBS”)產(chǎn)生器,并且測(cè)試圖案檢查器211是LFSR和PRBS檢查器。舉例來說,測(cè)試代碼237可從多種PRBS圖案以及LFSR種子進(jìn)行選擇,配置LFSR/PRBS產(chǎn)生器210和檢查器211以產(chǎn)生并檢查測(cè)試數(shù)據(jù)。輸入控制寄存器213可用于響應(yīng)于測(cè)試代碼237中指定的測(cè)試圖案,來控制由測(cè)試圖案產(chǎn)生器210進(jìn)行的測(cè)試圖案產(chǎn)生。但是,可使用其它類型的測(cè)試圖案產(chǎn)生器和檢查器。
[0040]可在測(cè)試圖案產(chǎn)生器210的控制下將測(cè)試圖案提供到SERDES 201,以用于環(huán)回到測(cè)試圖案檢查器211。此類環(huán)回可為僅內(nèi)部環(huán)回(即,完全在SoC 200內(nèi)),或可包含用于環(huán)回的外部裝置。SERDES 201可環(huán)回此類測(cè)試圖案數(shù)據(jù)以供由測(cè)試圖案檢查器211接收。耦合到測(cè)試圖案檢查器211的輸出捕獲寄存器214可捕獲從測(cè)試圖案檢查器211輸出的數(shù)據(jù)或其它信息。可將此類捕獲數(shù)據(jù)提供返回到處理單元230,例如用于后續(xù)分析。舉例來說,輸出捕獲寄存器214可用于響應(yīng)于由測(cè)試代碼237指定的測(cè)試圖案,來捕獲由測(cè)試圖案檢查器211確定的數(shù)據(jù)序列和數(shù)據(jù)誤差。沿著那些線,測(cè)試圖案檢查器211可耦合到輸入控制寄存器213以便了解待使用的測(cè)試圖案。對(duì)于偽隨機(jī)位序列來說,應(yīng)了解,在時(shí)鐘信號(hào)(出于清楚起見未示出)的數(shù)個(gè)時(shí)鐘循環(huán)之后,此類偽隨機(jī)位序列可重復(fù)。因此,測(cè)試圖案檢查器211可了解將期望什么。
[0041]SoC 200進(jìn)一步包含鏈路測(cè)試塊203。鏈路測(cè)試塊203包含配置控制器204、狀態(tài)監(jiān)視器205、誤碼率測(cè)試儀206、眼球掃描控制器207以及測(cè)試輸入輸出接口( “測(cè)試接口 ”) 208。在這個(gè)實(shí)例中,測(cè)試接口 208是JTAG接口。耦合到測(cè)試接口 208的測(cè)試總線/信號(hào)224可用于與測(cè)試接口 208雙向通信。測(cè)試總線/信號(hào)224可用于與運(yùn)行測(cè)試軟件的計(jì)算機(jī)系統(tǒng)(例如,工作站或其它計(jì)算機(jī)系統(tǒng))通信。鏈路測(cè)試塊203可因此負(fù)責(zé)促進(jìn)鏈路調(diào)諧和/或特征化。JTAG接口 208可用于耦合到處理器系統(tǒng)的JTAG鏈。沿著那些線,可經(jīng)由JTAG來控制鏈路測(cè)試塊203,以允許經(jīng)由運(yùn)行于(例如)PC或其它工作站上的軟件實(shí)現(xiàn)用