版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第7章
高密度可編程器件
可編程邏輯器件按器件的集成度劃分,可分成低密度可編程邏輯器件(LDPLD)和高密度可編程器件(HDPLD)低密度可編程邏輯器件:PROM、PLA、PAL、GAL等,通常稱作PLD器件(前一章已經(jīng)介紹)高密度可編程器件:CPLD(復(fù)雜的PLD)
FPGA(現(xiàn)場可編程門陣列)CPLD:集成規(guī)模大于1000門(等效門)以上。其結(jié)構(gòu)與GAL無本質(zhì)區(qū)別,依然是由與陣列、或陣列、輸入緩沖、輸入緩沖電路、輸出宏單元組成。其與陣列比GAL大得多:這不是靠簡單的增大陣列的輸入、輸出口達到(這樣會增大芯片成本并影響運行速度)。在CPLD中,通常將整個邏輯分為幾個區(qū)。每個區(qū)相當(dāng)于一個大的GAL或數(shù)個GAL的組合,再用總線實現(xiàn)各區(qū)之間的邏輯互連,如美國Lattice公司的ISP器件。FPGA:現(xiàn)場可編程門陣列現(xiàn)場可編程:用戶在自己的工作室內(nèi)編程由于門陣列中的基本器件是門,用門來組成觸發(fā)器進而構(gòu)成電路和系統(tǒng),其互連遠比PLD的與、或加觸發(fā)器的結(jié)構(gòu)復(fù)雜,所以在構(gòu)造FPGA時改用了單元結(jié)構(gòu),即在陣列的各個節(jié)點上放的不再是一個單獨的門,而是門、觸發(fā)器等做成的邏輯單元,并在各個單元之間預(yù)先制作了許多連線關(guān)系依靠連接點的合適配置,實現(xiàn)各邏輯單元之間的互連。
嚴格地說,F(xiàn)PGA不是門陣列,而是邏輯單元陣列,它與門陣列只是在陣列結(jié)構(gòu)上相似而已。7.1在系統(tǒng)可編程技術(shù)
7.2
ISP器件的結(jié)構(gòu)與原理7.3
在系統(tǒng)編程原理7.4FPGA器件7.5基于可編程器件的電路設(shè)計實例分析7.1.在系統(tǒng)可編程技術(shù)ISP技術(shù):是Lattice半導(dǎo)體公司首先提出來的一種能設(shè)計電路和系統(tǒng)的最新技術(shù)。在系統(tǒng)編程:是指對器件、電路板、整個電子系統(tǒng)進行邏邏輯重構(gòu)和修改功能的能力。常規(guī)PLD在使用中通常是先編程后裝配;而采用ISP技術(shù)的PLD,則是先裝配后編程,且成為產(chǎn)品之后還可反復(fù)編程。
ISP技術(shù)為用戶提供了傳統(tǒng)的PLD技術(shù)無法達到的靈活性,帶來了巨大的時間效益和經(jīng)濟效益,使硬件設(shè)計變得像軟軟件一樣易于修改?,F(xiàn)從數(shù)字系統(tǒng)設(shè)計和數(shù)字系統(tǒng)生產(chǎn)兩方面敘述其特點。7.2
ISPLSI器件的結(jié)構(gòu)與原理Lattice公司的CPLD產(chǎn)品,有ispLSI、ispMACH?和GAL等多種系列和型號,目前市場上以ispMACH4000V/B/C系列器件為主要產(chǎn)品,有3.3V、2.5V和1.8V三種供電電壓,器件的宏單元個數(shù)從32到512不等。引腳從44到256不等、具有多種密度和I/O組合及TQFP、fpBGA和caBGA等封裝。但基本結(jié)構(gòu)和功能相似,都具有在系統(tǒng)可編程能力,只是各個系列的側(cè)重點不一樣,結(jié)構(gòu)規(guī)模、性能強弱略有區(qū)別,速度和密度也各有差異。下面就以ispLSI的基本系列ispLSI1000為例,討論它的結(jié)構(gòu)及工作原理。1016)(器件系列PLSIISPLSI器件型號速度110=110MHzfmax90=90MHzfmax80=80MHzfmax60=60MHzfmax級別空=商業(yè)級I=工業(yè)級/883=軍級封裝形式J=PLCCT=TQFPH=HLCC
功耗L=低功耗ispLSI1016是ispLSI1000系列中的一個型號器件。1016的主要性能指標(biāo)有速度、功耗等。1016按其速度可分為許多檔級,這些都明白地表示在其型號說明上,規(guī)則如下:例如ispLSI1016-60LJ指最高工作頻率fmax為60MHz、低功耗、PLCC封裝的在系統(tǒng)編程1016器件
ispLSI1016是電可擦CMOS(E2-CMOS)器件,其芯片有44個引腳,其中32個是I/O引腳,4個是專用輸入引腳,集成密度為2000等效門,每片含64個觸發(fā)器和32個鎖存器,pin-to-pin延遲為10ns系統(tǒng)工作頻率可達110
MHz。ispLSI1016的引腳圖
全局布線區(qū)萬能邏輯塊輸入輸出單元輸出布線區(qū)大塊輸出結(jié)構(gòu)時鐘分配網(wǎng)絡(luò)
全局布線區(qū):
全局布線區(qū)GRP位于芯片的中央。以固定的方式將所有片內(nèi)邏輯聯(lián)系在一起,供設(shè)計者使用。它和通用總線的功能一致,其特點是其輸入/輸出之間的延遲是恒定的和可預(yù)知的。例如:110MHz檔級的芯片在帶有4個GLB負載時其延遲時間為0.8
ns,和輸入、輸出的位置無關(guān)。這個特點使片內(nèi)互連性非常完善,使用者可以很方便地實現(xiàn)各種復(fù)雜的設(shè)計。萬能邏輯塊GLB(Generic
Logic
Block):萬能邏輯塊GLB是ispLSI器件的最基本邏輯單元,是圖中GRP兩邊的小方塊,標(biāo)為A0,A1,…,A7和B0,B1,…,B7,每邊8塊,共16塊。GLB的結(jié)構(gòu)圖,它由與陣列、乘積項共享陣列,四輸出邏輯宏單元和控制邏輯組成。與陣列乘積項共享陣列四輸出邏輯宏單元控制邏輯乘積項20輸出至GRP,ORP或I/044復(fù)位時鐘專用輸入來自GRP的輸入162GLB結(jié)構(gòu)GLB的組態(tài)功能很強,可有五種組態(tài)模式:(1)標(biāo)準組態(tài)(2)高速直通組態(tài)(3)異或邏輯組態(tài)(4)單乘積項組態(tài)
(5)多模式組態(tài)GLB是ispLSI芯片中最關(guān)鍵的部件,它是一種標(biāo)準邏輯塊,1000,2000系列的GLB都與此相同,3000和6000系列的GLB則采用了:
孿生GLB(twin
GLB)即一個GLB中有兩個這樣的邏輯塊,共有24個輸入,每個邏輯塊各自產(chǎn)生20個乘積項,最終可以獲得兩套四端口輸出(a)標(biāo)準組態(tài):(b)高速直通組態(tài)(c)異或邏輯組態(tài)(d)單乘積項組態(tài)(e)多模式組態(tài)孿生GLB:MUX選擇端00輸出組態(tài)01,10雙向I/O11輸入組態(tài)兩個MUX用來選擇輸出極性和選擇信號輸出途徑選擇輸入組態(tài)方式直接輸入鎖存(latch)方式寄存器(register)方式選擇和調(diào)整時鐘的極性輸入輸出單元陣列有16個輸出端分別與該側(cè)的16個IOC相連在ORP旁邊還有16條通向GRP的總線,I/O單元可以使用,GLB的輸出也可通過ORP使用它從而方便地實現(xiàn)了I/O端復(fù)用的功能和GLB之間的互連。輸出布線區(qū)陣列的輸入是8個GLB的32個輸入端它是介于GLB和IOC之間的可編程互聯(lián)陣列,通過對ORP的編程可以將任一個GLB輸出靈活地送到16個I/O端的某一個??梢?016的一大特點是IOC與GLB之間沒有一一對應(yīng)的關(guān)系,每個GLB輸出對應(yīng)4個I/O端在布線時可以接到任意一個外部管腳上。修改設(shè)計方案會動到硬件引腳分配。輸出布線區(qū)ORP邏輯圖為進一步提高器件的靈活性,ispLSI器件還可使GLB的輸出跨過ORP直接與I/O單元相連.跨越OPR連接方式
時鐘分配網(wǎng)絡(luò)還可以利用器件中的某一個GLB分頻產(chǎn)生系統(tǒng)時鐘,如ispLSI1032中的GLB“C0”和ispLSI1016中的GLB“B0”,它們的4個輸出可以接到CLK1,CLK2,IOCLK0和IOCLK1系統(tǒng)時鐘上。ispLSI
1000系列器件中共有4個專用的系統(tǒng)時鐘管腳(Y0,Y1,Y2,Y3),ispLSI1016比較特殊,只有其中的3個(Y0,Y1,Y2)。通過時鐘分配網(wǎng)絡(luò),這3個管腳上的時鐘可以分配給GLB或IOC。
時鐘分配網(wǎng)絡(luò)產(chǎn)生5個全局時鐘信號CLK0,CLK1,CLK2,IOCLKO和IOCLK1。CLK0,CLK1和CLK2用作器件GLB的時鐘,IOCLKO和IOCLK1用作器件IOC的時鐘。時鐘分配網(wǎng)絡(luò)(CDN)邏輯圖大塊方框圖大塊的輸出使能控制ispLSI1032引腳圖全局布線區(qū)萬能邏輯塊大塊輸出結(jié)構(gòu)時鐘分配網(wǎng)絡(luò)輸入輸出單元輸出布線區(qū)全局布線區(qū)萬能邏輯塊時鐘分配網(wǎng)絡(luò)大塊輸出結(jié)構(gòu)輸入輸出單元輸出布線區(qū)全局布線區(qū)GRP(GlobolRoutingpool)位于芯片的中央,與ispLSI1016類似,只是規(guī)模更大。全局布線區(qū)萬能邏輯塊時鐘分配網(wǎng)絡(luò)大塊輸出結(jié)構(gòu)輸入輸出單元輸出布線區(qū)萬能邏輯塊GLB(Genericlogicblock)與ispLSI1016類似,ispLSI1032有32個GLB:(A0,A1……A7;B0,B1……..B7)(C0,C1…….C7;D0,D1……..D7)全局布線區(qū)萬能邏輯塊時鐘分配網(wǎng)絡(luò)大塊輸出結(jié)構(gòu)輸入輸出單元輸出布線區(qū)I/O單元:ispLSI有64個I/O單元全局布線區(qū)萬能邏輯塊時鐘分配網(wǎng)絡(luò)大塊輸出結(jié)構(gòu)輸入輸出單元輸出布線區(qū)IspLSI1032有4個大塊全局布線區(qū)萬能邏輯塊時鐘分配網(wǎng)絡(luò)大塊輸出結(jié)構(gòu)輸入輸出單元輸出布線區(qū)與ispLSI1016一樣7.3
在系統(tǒng)編程原理在系統(tǒng)可編程技術(shù)解決可編程邏輯器件的編程問題。傳傳統(tǒng)可編程邏輯器件在用于生產(chǎn)時,是先編程后裝配,在系統(tǒng)可編程器件則可以先裝配后編程,并且成為產(chǎn)品后還可反復(fù)編程。7.3.1
ISP器件編程元件的物理布局
7.3.2
ISP編程接口
7.3.3
ISP器件的編程方式
器件的邏輯組態(tài)和其它編程信息的數(shù)據(jù)用E2CMOS元件存儲,E2CMOS元件按行和列排成陣列。每個E2CMOS元件為一個存儲單元,單元置“0”表示這個單元已經(jīng)編程,或者有一個邏輯連接;
單元置“1”表示這個單元被擦除,相當(dāng)于開路連接。在編程時,通過行地址和數(shù)據(jù)位對E2CMOS元件尋址。有兩個串行移位寄存器:水平移位寄存器(要寫入的位數(shù)據(jù))垂直移位寄存器(陣列的行地址)在變成脈沖的作用下將編程數(shù)據(jù)寫入E2CMOS陣列E2CMOS
單元陣列95地址移位寄存器
0SD1SD0SD179…高端移位寄存器...0159...低端移位寄存器...80SD0數(shù)據(jù)數(shù)據(jù)將要寫入的編程單元地址(L0000)移入地址移位寄存器
000000.1L0000將要寫入的編程單元地址(L0000)移入地址移位寄存器將要寫入該行的數(shù)據(jù)移入水平移位寄存器010101001010101010101010100010101001010101010101010100在編程脈沖的作用下將水平移位寄存器內(nèi)容寫入該行
100000.0將地址移位寄存器移動一位,指向下一行(L0001)L000179…高端移位寄存器...0010101001010101010101010100010101001010101010101010100
將水平移位寄存器的內(nèi)容置入下行的編程數(shù)據(jù)
在編程脈沖作用下將數(shù)據(jù)寫入下行(L0001)
對于不同的型號器件,其編程單元數(shù)、數(shù)據(jù)移位寄存器和地址移位寄存器的長度是不一樣的,下表列出了幾種不同型號的ispLSI器件的編程參數(shù)。
地址SR長度
數(shù)據(jù)SR長度
編程單元數(shù)
ispLSI1016/E
ispLSI1024/E
ispLSI1032/E
ispLSI1048/C
ispLSI2032
ispLSI3256
96/110
102/122
108/134
120/155
102
180
160
240
320
480/480
80
676
15360/17600
24480/29280
34560/42880
57600/74400
8160
121680
ispLSI器件的編程參數(shù)
在ispLSI器件中,存儲單元除了存放和邏輯功能有關(guān)的數(shù)據(jù)外,還有一部分存儲單元用來標(biāo)記制造商和用戶的信息,這就是識別碼和用戶電子標(biāo)簽。每種ispLSI(包括isp的其它系列,如ispGAL、ispGDS)器件都有一個唯一的8位器件識別碼(ID碼),它代表器件的型號,這些ID碼可以在編程時讀出。1)識別碼2)
用戶電子標(biāo)簽(UES)用戶電子標(biāo)簽由一些附加在可編程陣列中的額外的行組成,用來分配存儲用戶信息。例如制造商的識別碼、編程日期、編程者、方式碼、校驗位、PCB位置、版權(quán)號和產(chǎn)品流程等,
這些信息有助于用戶文檔的管理。器件加密后,仍能夠讀出UES。當(dāng)器件被擦除或重新編程時,UES數(shù)據(jù)行會被自動地擦除掉,防止老的與新用戶電子標(biāo)簽相混。器
件
8位ID碼
ispLSI1016
器
件
8位ID碼
ispLSI1032
ispLSI032E
ispGAL22V10
ispLSI2032
ispGDS22
ispLSI3256
ispLSI1048E
00001000
00010101
00001101
ispLSI1048
00000011
ispLSI1024
00000001
00000010
00001110
00100010
01110010
00000100
ispLSI器件中還有一個16位的編程次數(shù)計數(shù)器,用來記錄器件被編寫的次數(shù),防止器件編程超過允許的次數(shù)而引起的不可靠。ISP編程的接口只有5個信號:
MODE:
模式控制輸入,為編程狀態(tài)機控制線;
SDI:
串行數(shù)據(jù)輸入,同時也是編程狀態(tài)機的控制線;
SDO:
串行數(shù)據(jù)輸出;
SCLK:
串行時鐘輸入;
ispEN
:
在系統(tǒng)編程使能輸入,控制器件的操作模式,并切換SDI,SD0,SCLK,MODE信號線的功能,一旦被拉低,器件即進入編程模式。*對于MODE
,SDI,
SDO,
SCLK這4個引腳,只有當(dāng)引腳ispEN為低電平時才能接受編程電纜送來的編程信息;當(dāng)ispEN為高電平(正常狀態(tài))時,它們都可作為輸入端(直通輸入端)使用。
對某一行的編程過程包括:①
按地址和命令將JED文件中的數(shù)據(jù)自SDI端串行裝入數(shù)據(jù)寄存器;②
將編程數(shù)據(jù)寫進E2CMOS邏輯單元;③
將寫入的數(shù)據(jù)自SDO移出校驗等三個操作。
ispLSI中安排了一個編程狀態(tài)機來控制編程操作的執(zhí)行編程狀態(tài)機實際上是有三個狀態(tài)的時序機,如圖所示。三個狀態(tài)分別為閑置狀態(tài)、移位狀態(tài)和執(zhí)行狀態(tài)??刂凭幊虪顟B(tài)機狀態(tài)轉(zhuǎn)換的信號有兩個:
MODE和SDI
閑置狀態(tài)(正常工作)裝載識別碼10識別碼移位0d11移位狀態(tài)(裝載命令)執(zhí)行狀態(tài)(執(zhí)行命令)(1)
閑置狀態(tài)。即正常工作的狀態(tài),也是時序機的初始狀態(tài)。讀器件的標(biāo)識碼就處于這個狀態(tài),在MODE,SDI控制下,用SCLK定時,將器件的標(biāo)識碼裝入移位寄存器。同樣在上述信號控制下,可將標(biāo)識碼從移位寄存器中移出。閑置狀態(tài)(正常工作)閑置狀態(tài)(正常工作)識別碼移位裝載識別碼100d11移位狀態(tài)(裝載命令)裝載命令0d11執(zhí)行狀態(tài)(執(zhí)行命令)移位狀態(tài)(裝載命令)102)
移位狀態(tài)。這個狀態(tài)主要用于把命令裝入狀態(tài)機。MODE,SDI為0d時,SCLK將指令移進狀態(tài)機中。一旦指令裝進狀態(tài)機,
MODE,SDI為11,狀態(tài)機轉(zhuǎn)移到執(zhí)行狀態(tài)以執(zhí)行命令。10閑置狀態(tài)(正常工作)識別碼移位裝載識別碼100d11移位狀態(tài)(裝載命令)裝載命令0d1111執(zhí)行狀態(tài)(執(zhí)行命令)執(zhí)行命令0d10執(zhí)行狀態(tài)(執(zhí)行命令)(3)
執(zhí)行狀態(tài)。在執(zhí)行狀態(tài)下,狀態(tài)機執(zhí)行在移位狀態(tài)裝入器件的命令。對于某些命令,狀態(tài)機需要多個時鐘周期去執(zhí)行。例如地址移位命令和數(shù)據(jù)移位命令,這些命令所需要的時鐘脈沖數(shù)目同器件的移位寄存器大小有關(guān)。ISP技術(shù)實質(zhì)上是一種串行編程技術(shù),利用ISP技術(shù)可以完全擺脫編程器,并解決傳統(tǒng)可編程器件較難解決的問題。1)
利用PC機的I/O口編程
2)
利用用戶目標(biāo)板上微處理器編程
3)
多個ISP器件的編程
菊花鏈結(jié)構(gòu)(Daisy
Chain)
ISP編程接口非常簡單,只需要一個簡單的編程電纜和一臺PC機就可以完成器件編程,共有5根信號線:模式控制輸入MODE、串行數(shù)據(jù)輸入SDI、串行數(shù)據(jù)輸出SDO、串行時鐘輸入SCLK和在系統(tǒng)編程輸入ispEN,PC機可以通過這5根信號線完成編程數(shù)據(jù)傳遞和編程操作。為了保證信號的完整性和驅(qū)動能力,在電纜的一端還裝有一片74HC367,如圖,目標(biāo)板上必須有相應(yīng)的接插件,將編程信號引入到ISP器件。
PC機并口緩沖器及RJ45接插件定義
可以利用目標(biāo)板直接對ISP器件編程。編程的關(guān)鍵在于提供準確定時的ISP編程信號。至于ISP編程硬件的構(gòu)置,完全取決于存儲器件的類型和ISP器件的編程方法。圖中列出了用戶系統(tǒng)編程的結(jié)構(gòu)示例。
用戶微機板編程結(jié)構(gòu)
如用單片機構(gòu)成編程系統(tǒng),則有下面所示的結(jié)構(gòu):
8031單片機在系統(tǒng)編程原理框圖
如果一塊線路板上裝有多塊Lattice
ISP器件,不必對每塊器件都安排一個編程接口,只要總的安排一個接口就行了。Lattice
ISP器件有一種特殊的串行編程方式,稱稱為菊花鏈結(jié)構(gòu)(Daisy
Chain),其硬件接口簡單,編程效率高,并且容易實現(xiàn)。其特點是多片合用一套ISP編程接口,每片的SDI輸入端與前面一片的SDO輸出端相連,最前面一片的SDI端和最最后一片的SDO端與ISP編程接口相連,構(gòu)成一類似移位寄存器的鏈形結(jié)構(gòu)。鏈中的器件數(shù)可以很多,只要不超出接口的驅(qū)動能力即可。
各ISP器件的內(nèi)部狀態(tài)機是受MODE信號和SDI信號控制的。在MODE為高電平時,器件內(nèi)的移位寄存器被短路,SDI端直通SDO端,各LSI內(nèi)部狀態(tài)一樣。當(dāng)MODE為低電平時,各器件中的移位寄存器都嵌入菊花鏈中,相互串聯(lián)在一起。閑置狀態(tài)(正常工作)閑置狀態(tài)(正常工作)ispEN=0,MODE,SDI=10,編程狀態(tài)機處于閑置狀態(tài),并進行裝載識別碼。在SCLK作用下,將各自內(nèi)部硬件決定的識別碼裝入移位寄存器。編程狀態(tài)機狀態(tài)圖識別碼移位寄存器結(jié)構(gòu)然后將MODE,
SDI改為01,它對應(yīng)于識別碼移位狀態(tài),在SCLK作用下,逐位從SDO移出,就得到了器件排列信息(計算機以連續(xù)收到8個0作為移位結(jié)束)。
閑置狀態(tài)(正常工作)裝載識別碼10識別碼移位0d00000000000000000000000000000000閑置狀態(tài)(正常工作)裝載識別碼10識別碼移位0d閑置狀態(tài)(正常工作)閑置狀態(tài)(正常工作)11先令MODE,SDI=11,使各芯片的編程狀態(tài)機進入移位狀態(tài);然后令MODE=0,指令流串行移位送入,經(jīng)過20個SCLK周期,指令碼全部到位。
裝載命令0d閑置狀態(tài)(正常工作)編程狀態(tài)機狀態(tài)圖FLOWTHRU[01110]SHIFT_DATA[00010]SD0SD1ISPLSI1032ISPGAL22V10ISPGDS22ISPLSI2032FLOWTHRU[01110]FLOWTHRU[01110]10FLOWTHRU(01110)是數(shù)據(jù)流直通指令,在執(zhí)行這條指令時,SDI與SD0直通,現(xiàn)對對22V10要執(zhí)行的是SHIFT-DATA(00010)操作,數(shù)據(jù)移位。 識別碼移位寄存器結(jié)構(gòu)閑置狀態(tài)(正常工作)裝載識別碼10識別碼移位0d閑置狀態(tài)(正常工作)裝載命令0d1110閑置狀態(tài)(正常工作)裝載命令0d閑置狀態(tài)(正常工作)11編程狀態(tài)機狀態(tài)圖再次令MODE,SDI=11,進入執(zhí)行狀態(tài);再將MODE=0,從SDI送入數(shù)據(jù),因22V10的地址/數(shù)據(jù)寄存器共138位,應(yīng)送入138位數(shù)據(jù),而此時前后芯片皆工作于數(shù)據(jù)直通狀態(tài),故送入的數(shù)據(jù)經(jīng)138個SCLK周期全部進入22V10的移位寄存器。
SD0SD1ISPLSI1032ISPGAL22V10ISPGDS22ISPLSI20320bitSR138bitSR0bitSR0bitSR至此對22V10的這一步操作算完成了,接著使MODE,
SDI=11,狀態(tài)機回到移位狀態(tài),送入新的命令……如MODE,
SDI=10,則進入閑置狀態(tài)。11107.4FPGA器件FPGA與CPLD的辨別和分類主要是根據(jù)其結(jié)結(jié)構(gòu)特點和工作原理。CPLD:以乘積項結(jié)構(gòu)方式構(gòu)成邏輯行為的器件稱為CPLD,具有一定的限制,缺乏編輯靈活性,但是卻有可以預(yù)計的延遲時間,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。FPGA:以查表法結(jié)構(gòu)方式構(gòu)成邏輯行為的器件稱為FPGA,大多數(shù)的FPGA含有高層次的內(nèi)置模塊(比如加法器和乘法器)和內(nèi)置的記憶體。編輯靈活,結(jié)構(gòu)復(fù)雜。7.4.1FPGA的基本結(jié)構(gòu)7.4.5XC4000系列FPGA的配置模式7.4.2FPGA開發(fā)流程7.4.4XC4000系列FPGA7.4.3Altera低成本FPGA7.4.1FPGA的基本結(jié)構(gòu)1.可編程輸入輸出單元
I/O單元即輸入輸出單元,是芯片與外界電路的接口部分,完成不同電器特性下對輸入/輸出信號的驅(qū)動與匹配需求。為了使FPGA的應(yīng)用更靈活,目前大多數(shù)FPGA的I/O單元被設(shè)計為可編程模式,即通過軟件的靈活配置,可以適配不同的電氣標(biāo)準與IO物理特性;可以調(diào)整匹配阻抗特性,上下拉電阻;可以調(diào)整輸出驅(qū)動電流的大小等。可編程I/O單元支持的電氣標(biāo)準因工藝而異,不同器件商不同器件族的FPGA支持的標(biāo)準也不同。值得一提的是,隨著ASIC工藝的飛速發(fā)展,目前可編程I/O支持的最高頻率越來越高。一些高端的FPGA通過DDR寄存器技術(shù),甚至可以支持高達2Gbit/s的數(shù)據(jù)速率。2.基本可編程邏輯單元
基本可編程邏輯單元是可編程邏輯的主體,可以根據(jù)設(shè)計靈活的改變其內(nèi)部連接與配置,完成不同的邏輯功能。FPGA一般基于SRAM工藝,其基本可編程邏輯單元幾乎都是由查找表(LUT)和寄存器組成的。LUT結(jié)構(gòu)3.嵌入式RAM塊FPGA內(nèi)部嵌入可編程RAM塊,大大拓展了FPGA的應(yīng)用范圍和使用靈活性。FPGA內(nèi)嵌的RAM塊一般可以靈活的配置為單端口RAM、雙端口RAM、偽雙端口RAM、CAM(ContentAddressableMemory)、FIFO(FirstInFirstOut)等常用存儲結(jié)構(gòu)。不同器件商或器件族的內(nèi)嵌RAM塊的結(jié)構(gòu)是不同的。Xilinx常見的RAM塊大小是4kbit和18kbit兩種結(jié)構(gòu),Lattice常用的RAM塊大小是9kbit,Altera的RAM塊最為靈活,一些高端的FPGA內(nèi)部同時含有3種RAM塊結(jié)構(gòu),即M512RAM(512bit)、M4KRAM(4kbit)、M-RAM(512kbit)。根據(jù)設(shè)計需求,RAM塊的數(shù)量和配置方式也是器件選型的一個重要標(biāo)準。4.豐富的布線資源
布線資源連通了FPGA內(nèi)部的所有單元。連線的長度和工藝決定著信號的驅(qū)動能力和傳輸速度。FPGA內(nèi)部有豐富的布線資源,根據(jù)其工藝、長度、寬度和分布位置的不同被劃分為不同的等級,有一些是全局性的專用布線資源,用以完成器件內(nèi)部的全局時鐘和全局復(fù)位/置位的布線;一些叫做長線資源,用以完成器件分區(qū)間的一些高速信號和第二全局時鐘信號的布線;還有一些叫做短線資源,用以完成基本邏輯單元之間的邏輯互聯(lián)和布線;另外,在基本邏輯單元內(nèi)部還有各種布線資源和專用時鐘、復(fù)位等控制信號線。5.底層嵌入功能單元
通用性比較高的嵌入式功能模塊,比如PLL(PhaseLockedLoop)、DLL(DelayLockedLoop)、DSP、CPU等。隨著FPGA的發(fā)展,這些模塊被越來越多的嵌入到FPGA的內(nèi)部,以滿足不同場合的需求。6.內(nèi)嵌專用硬核
這里的內(nèi)嵌專用硬核主要指那些通用性相對較弱,不是所有FPGA器件都包含硬核(HardCore),與前面的“底層嵌入單元”是不同的。
7.4.2FPGA開發(fā)流程圖形輸入文本輸入混合輸入
7.4.3Altera低成本FPGAAltera公司的低成本FPGA繼ACEX后,推出了Cyclone(颶風(fēng))系列,之后還有基于90nm工藝的CyloneⅡ。低成本FPGA主要定位在大量,且對成本敏感的設(shè)計中,如數(shù)字終端、手持設(shè)備等。另外,在PC、消費類產(chǎn)品和工業(yè)控制領(lǐng)域,F(xiàn)PGA還不是特別普及,主要原因就是以前其成本相對較高。目前隨著FPGA廠商的工藝改進,制造成本的降低,低端市場競爭也非常激烈,不斷有新的產(chǎn)品推向市場。1.Cyclone系列FPGA
特性EP1C3EP1C4EP1C6EP1C12E1C20LE2910400059801206020060M4KRAM塊數(shù)1317205264總RAM位數(shù)599047833692160239616294912鎖相環(huán)(PLL)12222封裝形式TQFPFBGATQFP,PQFP,FBGAPQFP,FBGAFBGA最大用戶I/O管腳數(shù)1043011852493012.器件結(jié)構(gòu)(1)邏輯陣列塊(LAB)(2)多通道互連(3)嵌入式存儲器(4)全局時鐘和鎖相環(huán)(PLL)(5)I/O單元(IOE)FPGA器件的工作狀態(tài)分為三種:一種稱之為用戶狀態(tài)(Usermode),指電路中FPGA器件正常工作時的狀態(tài);一種則是配置狀態(tài)(Configuration),指將編程數(shù)據(jù)裝入FPGA器件的過程,也可稱之為構(gòu)造;第三種就是初始化狀態(tài)(Initialization),F(xiàn)PGA器件復(fù)位各類寄存器,讓I/O管腳為邏輯器件正常工作做準備。其中后兩種狀態(tài)可統(tǒng)稱為命令狀態(tài)(Commandmode)。AlteraFPGA器件的配置方式主要分為:主動方式、被動方式以及基于JTAG的配置方式。
3.配置與測試XC4000是Xilinx早期的典型產(chǎn)品,其結(jié)構(gòu)對了解新的FPGA器件的結(jié)構(gòu)很有用處。1.XC4000系列FPGA器件的整體結(jié)構(gòu)2.可配置邏輯塊CLB7.4.4XilinxXC4000FPGA系列概述3.可編程輸入/輸出塊IOB4.內(nèi)部可編程互連資源PI
XC4000系列FPGA器件的整體結(jié)構(gòu)XC4000系列的部分FPGA器件的主要特征器件型號主要特征CLB矩陣CLB總數(shù)觸發(fā)器數(shù)邏輯門數(shù)最大用戶I/O數(shù)最大RAM位數(shù)XC4002XL8×8642561600642048XC4003E10×101003603000803200XC4005E/XL14×1419661650001126272XC4006E16×1625676860001288192XC4008E18×18324936800014410368XC4010E/XL20×2040011201000016012800XC4013E/XL24×2457615361300019218432XC4020E/XL28×2878420162000022425088XC4025E32×32102425602500025632768XC4028EX/XL32×32102425602800025632768XC4036EX/XL36×36129631683600028841472XC4044XL40×40160038404400032051200XC4052XL44×44193645765200035261952XC4062XL48×48230453766200038473728XC4085XL56×563136716885000448100352XC4000系列簡化的CLB結(jié)構(gòu)函數(shù)發(fā)生器觸發(fā)器輸入輸出(1)邏輯函數(shù)發(fā)生器 這里所謂的邏輯函數(shù)發(fā)生器,在結(jié)構(gòu)上由4或3輸入的查找表組成,實際就是一個靜態(tài)存儲器(SRAM)組成的存儲器陣列。一個2n位的RAM可以實現(xiàn)任何一個n變量的邏輯函數(shù)。 用查找表實現(xiàn)邏輯函數(shù)的過程即將邏輯函數(shù)的真值表存儲在查找表的存儲單元中,當(dāng)邏輯函數(shù)的輸入變量取不同組態(tài)時,由相應(yīng)組態(tài)的二進制取值構(gòu)成SRAM的地址,選中相應(yīng)單元,也就得到了與輸入變量組合對應(yīng)的邏輯值。1)實現(xiàn)組合邏輯函數(shù)的功能當(dāng)工作方式字被編程設(shè)置成組合邏輯函數(shù)發(fā)生器時,4個控制信號C1~C4通過可編程控制電路分別將H1、DIN、S/R(異步置位/復(fù)位)及EC(使能)信號接入CLB中,作為邏輯函數(shù)發(fā)生器的可控制輸入信號。例7.1用一個CLB實現(xiàn)下列函數(shù)功能:a)b)解a)將CLB中F邏輯函數(shù)發(fā)生器配置成產(chǎn)生輸出X,G邏輯函數(shù)發(fā)生器配置成產(chǎn)生輸出Y。F3、F2、F1分別連接變量A、B、C,G2、G1分別連接A和B,F(xiàn)4、G4、G3任意。然后將多路選擇器設(shè)置成直接輸出F和G的輸出,實現(xiàn)X和Y兩個函數(shù)的功能。采用這種方法可以實現(xiàn)任意兩個獨立的最多4個變量的邏輯函數(shù)。b)這個邏輯函數(shù)包含了7個變量,因此我們將用F邏輯函數(shù)發(fā)生器來產(chǎn)生F=JKLM的邏輯功能,G邏輯函數(shù)發(fā)生器產(chǎn)生G=PQR,然后將H配置成H=FG。最終輸出的多路選擇器選擇H的輸出作為Y,實現(xiàn)Y函數(shù)的功能。采用這種方法,一個CLB可以實現(xiàn)最多9個變量的部分函數(shù)的功能。2)實現(xiàn)RAM功能邏輯函數(shù)發(fā)生器F和G除了能夠?qū)崿F(xiàn)一般的組合邏輯函數(shù)以外,還可以被用作片內(nèi)RAM。每個CLB都有一種定義方式,使得F和G的邏輯函數(shù)發(fā)生器中的查找表可以用作16×2位或者32×1位的讀寫存儲器。
當(dāng)工作方式字編程設(shè)置成存儲器功能有效時,4個控制信號C1~C4通過可編程控制電路分別將控制信號WE、H2(D1/A4)、H0(D0)及EC(不用)作為存儲器寫控制信號、數(shù)據(jù)輸入信號或地址信號。邏輯函數(shù)發(fā)生器作為存儲器使用的結(jié)構(gòu)例7.2試分別給出用一個CLB構(gòu)成2個16×1位RAM和用一個CLB構(gòu)成1個32×1位RAM的實現(xiàn)方案。(假定均用電平觸發(fā)方式)用1個CLB構(gòu)成2個16×1位RAM的實現(xiàn)原理用1個CLB構(gòu)成1個32×1位RAM的實現(xiàn)原理(2)觸發(fā)器每個CLB中包含兩個觸發(fā)器,它們用于存儲函數(shù)發(fā)生器的輸出,也可以獨立使用。兩個觸發(fā)器有公共的時鐘和時鐘使能信號,每個觸發(fā)器都可以配置成上升沿或下降沿觸發(fā),并且可以單獨選擇時鐘使能為EC或1(即時鐘使能永久有效)。此外,控制電路送來的R/S信號可以對兩個觸發(fā)器異步置位/復(fù)位。觸發(fā)器的激勵信號可以通過多路選擇器從DIN/H2、F、G和H的輸出中選擇,觸發(fā)器的狀態(tài)從QX和QY端輸出??删幊梯斎?輸出模塊(IOB)提供了器件的外部封裝引腳和內(nèi)部邏輯之間的連接,每個IOB控制一個外部封裝引腳,可以通過編程配置為輸入、輸出或雙向信號端口。3.可編程輸入/輸出塊IOB
可編程互連資源遍布于CLB和IOB之間,在XC4000E系列FPGA中,PI除了通用可編程連接線和可編程開關(guān)矩陣PSM(ProgrammableSwitchMatrix),還包括可編程開關(guān)點和全局信號線。多種不同長度的金屬線通過可編程開關(guān)點或PSM,可以將器件內(nèi)部任意兩點連接起來,構(gòu)成所需要的信號通路,從完成各種設(shè)計。4.內(nèi)部可編程互連資源PI(1)通用可編程連接線(2)可編程開關(guān)矩陣(3)全局信號線和緩沖器CLB到鄰近單長線的典型連接①單長線。(1)通用可編程連接線單長線的長度相當(dāng)于兩個CLB之間的距離。它們通過PSM與其它單長線相連。單長線通常用在局部區(qū)域內(nèi)傳輸信號,這種連接線可以提供最大的互連靈活性和相鄰功能塊之間的快速布線。CLB邏輯函數(shù)發(fā)生器的輸入信號F4~F1、G4~G1以及控制信號C4~C1,都可以由相鄰的單長度線驅(qū)動。時鐘能被一半數(shù)目的相鄰單長線驅(qū)動。但是因為信號每通過一個開關(guān)矩陣都會增加一次時延,所以單長線不適合需要長距離傳輸?shù)男盘?。②雙長線。雙長線兩根為一組,長度是單長線的兩倍,要經(jīng)過兩個CLB后才進入PSM。雙長線可以實現(xiàn)兩個非相鄰CLB之間的互連。與單長線相比,雙長線減少了經(jīng)過開關(guān)矩陣的數(shù)量,更有效的提供了中等距離的信號通道,提高了系統(tǒng)的工作速度。③長線。長線是指貫穿于整個陣列的水平或垂直連接線。長線不經(jīng)過任何開關(guān)矩陣,信號的時延小。每條長線的中點處有一個可編程的分離開關(guān),可將長線分成兩條獨立的布線通道。長線通常用于高扇出和時間要求苛刻的信號。(2)可編程開關(guān)矩陣開關(guān)元件有6個選通晶體管,每個進入開關(guān)矩陣的信號可以與任何方向的單長線或雙長線相連,即除了直通外,信號還可以“拐彎”。例如,從開關(guān)矩陣某側(cè)輸入的信號,可以被連接到另外三個方向中的任何一個或多個方向輸出。正因為如此,器件中的任何一個CLB才能夠與不同行或不同列的其他CLB實現(xiàn)互連。全局信號線用于時鐘信號和其他高扇出的控制信號進行布線,使信號失真最小。全局時鐘線只分布在垂直方向上。專用的全局緩沖器位于CLB每一列的4條垂直長線上。4條全局線可以由這些專用緩沖器驅(qū)動,使得信號延遲達到最短,偏移最小,同時增強了布線的靈活性。(3)全局信號線和緩沖器7.4.5XC4000系列FPGA的配置模式XC4000系列FPGA共有3個配置模式引腳(M2、M1、M0),在進行配置之前,需采樣這三個引腳來確定器件的配置模式,配置結(jié)束后,這三個配置引腳可以用作普通的I/O引腳,其中M2、M0可用作輸入引腳,而M1可用作三態(tài)輸出。模式M2M1M0CCLKDATA主串模式000輸出位串從串模式111輸入位串主并(up)模式100輸出字節(jié)主并(down)模式110輸出字節(jié)外設(shè)(同步)模式011輸入字節(jié)外設(shè)(異步)模式101輸出字節(jié)保留010----保留001----1.主串模式在主串模式中,F(xiàn)PGA的CCLK由內(nèi)部振蕩器產(chǎn)生,輸出連接到Xilinx的相應(yīng)串行PROM的CLK端,用來驅(qū)動PROM。串行PROM的DATA信號反饋到FPGA的DIN端。CCLK的每個上升沿使得PROM的內(nèi)部地址計數(shù)器加1,取出的數(shù)據(jù)位被送到PROM的DATA端,F(xiàn)PGA在下一個CCLK的上升沿到來時接收來自PROM的數(shù)據(jù)。2.從串模式從串模式中,待配置的新片不再提供時鐘,而是由外部提供。在每個CCLK的上升沿到來之前,串行的配置位流必須在DIN引腳上有一定的建立時間。當(dāng)對多個芯片進行配置時,也可以將多個芯片連接成菊花鏈形式。3.主并模式在主并模式中,主FPGA器件可以與符合工業(yè)標(biāo)準的8位EPROM直接相連,每個CCLK周期中有一個字節(jié)(8比特)的數(shù)據(jù)被讀入FPGA,并且使EPROM的地址加1(或減1),這樣當(dāng)CCLK的頻率為1MHz時,相當(dāng)于用了8MHz的高倍時鐘。4.配置流程主要有4步:清除配置存儲器、初始化、配置和啟動。(1)清除配置存儲器當(dāng)給FPGA加電時,內(nèi)部電路迫使配置邏輯初始化。當(dāng)VCC達到操作電平(大于3.5V)且電路發(fā)送讀寫測試后開始延時,一般延時時間為16ms(主模式中延時64ms)。在這段時間中,或只要PROGRAM引腳上出現(xiàn)低電平,配置邏輯始終保持在清除配置存儲器狀態(tài)。(2)初始化在初始化和配置期間,引腳HDC、LDC和INIT上的信號反映了系統(tǒng)接口的狀態(tài)。FPGA上電初始化時,LDC、INIT和DONE保持低電平,而HDC引腳保持高電平。在初始化結(jié)束時,INIT輸出高電平。在INIT被識別出來為高電平后的兩個內(nèi)部時鐘后,器件采樣MODE引腳以確定配置模式。此時相應(yīng)的接口線路被激活,開始加載引導(dǎo)碼和數(shù)據(jù)。(3)配置配置數(shù)據(jù)流以0010作為引導(dǎo)碼,后面緊跟24位的長度計數(shù)值以及4位填充位(1111)。在4位填充位之后是真正的配置數(shù)據(jù),以幀為單位。4.啟動當(dāng)配置存儲器滿,并且在INIT變高后,計數(shù)時鐘等于計數(shù)長度的值時,整個器件配置過程進入啟動階段。Xilinx最新PFGA產(chǎn)品性能比較特性Virtex-6Virtex-5Spartan-6Spartan-3A延伸系列邏輯單元多達760,000個多達330,000個多達150,000個多達53,000個用戶I/O多達1200個多達1200個多達570個多達519的I/O支持的I/O標(biāo)準超過40種超過40種超過40種超過20種時鐘管理技術(shù)PLLDCM+PLLDCM+PLLDCM嵌入式BlockRAM高達38Mb高達18Mb高達4.8Mb高達1.8Mb用于DSP的嵌入式乘法器有(25x18)有(25x18)有(18x18)有(18x18)千兆位級高速串行6.5Gbps、超過11.18Gbps3.75Gbps、6.5Gbps3.125Gbps無軟處理器支持是是是是7.5基于可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學(xué)《影像診斷學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《數(shù)據(jù)庫管理》2021-2022學(xué)年期末試卷
- 石河子大學(xué)《景觀生態(tài)學(xué)原理》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《數(shù)據(jù)庫原理》2023-2024學(xué)年期末試卷
- 沈陽理工大學(xué)《化工原理A》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《電路實驗》2021-2022學(xué)年期末試卷
- 沈陽理工大學(xué)《產(chǎn)品語義學(xué)應(yīng)用設(shè)計》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《nux系統(tǒng)程序設(shè)計》2023-2024學(xué)年期末試卷
- 合伙承包高鈣粉合同
- 同步新課堂高中歷史專題二近代中國維護國家主權(quán)的斗爭課時訓(xùn)練7偉大的抗日戰(zhàn)爭含解析人民版必修1
- 部編人教版《道德與法治》六年級上冊第6課《人大代表為人民》課件
- 2024至2030年中國石油市場需求預(yù)測及發(fā)展趨勢前瞻報告
- 欠錢不還訴狀書范文2024年
- 難治性高血壓中國專家共識
- 2024新蘇教版一年級數(shù)學(xué)上冊第一單元第1課《認識1~3》教案
- 2024年九年級化學(xué)上冊 第1單元 走進化學(xué)世界教案 (新版)新人教版
- 大數(shù)據(jù)分析平臺開發(fā)與運營服務(wù)合同
- 教師資格考試小學(xué)心理健康面試2024年下半年自測試題及答案解析
- Module10Theweather教學(xué)設(shè)計2024-2025學(xué)年外研版英語八年級上冊
- 英語項目化課程設(shè)計案例
- CTF信息安全競賽理論知識考試題庫大全-上(單選題)
評論
0/150
提交評論