基于CPLD的串并轉(zhuǎn)換和高速USB通信設(shè)計(jì)
2 ATF1508AS的宏單元
ATF1508AS的宏單元如圖1所示。它的宏單元非常靈活,足以支持高復(fù)雜邏輯功能并且高速工作。宏單元包括五個(gè)部分:乘積項(xiàng)和乘積項(xiàng)選擇多路復(fù)用器、或/異或/級(jí)聯(lián)邏輯、觸發(fā)器、輸出選擇和使能、邏輯陣列輸入。沒有用到的宏單元可由編譯器禁止以降低功耗。
(1)乘積項(xiàng)和乘積項(xiàng)選擇矩陣
每一個(gè)宏單元有5個(gè)乘積項(xiàng),每個(gè)乘積項(xiàng)作為它的輸入從全局總線和局部總線接收所有信號(hào)。乘積項(xiàng)選擇矩陣(PTMUX)按需分配這5個(gè)乘積項(xiàng)到宏單元的邏輯門,也負(fù)責(zé)分配控制信號(hào)。乘積項(xiàng)選擇矩陣的編程是由設(shè)計(jì)編譯器決定的,編譯器將選擇優(yōu)化的宏單元配置。
(2)或/異或/級(jí)聯(lián)邏輯
ATF1508AS的邏輯結(jié)構(gòu)是為有效地支持所有的邏輯而設(shè)計(jì)的。在一個(gè)宏單元內(nèi),所有的乘積項(xiàng)可以被布進(jìn)或門,產(chǎn)生一個(gè)5輸入的與/或求和項(xiàng)。通過鄰近的宏單元扇入額外的乘積項(xiàng),可以擴(kuò)展到40個(gè)乘積項(xiàng)而只有很小的延時(shí)。宏單元的異或門允許有效地實(shí)現(xiàn)比較和算術(shù)功能,其中異或門的一個(gè)輸入來自或運(yùn)算的求和項(xiàng),另一個(gè)輸入可以是一個(gè)乘積項(xiàng)或一個(gè)固定的高電平或低電平。對(duì)于組合邏輯輸出,固定電平允許極性選擇;對(duì)于時(shí)序邏輯,固定電平允許利用反演規(guī)則(摩根定律的推論)化簡乘積項(xiàng)。異或門也可以用于仿真T型和JK型觸發(fā)器。
(3)觸發(fā)器
ATF1508AS的觸發(fā)器有非常靈活的數(shù)據(jù)和控制功能。觸發(fā)器的輸入可以來自于異或門、一個(gè)單獨(dú)的乘積項(xiàng)或直接由I/O口輸入。選擇單獨(dú)的乘積項(xiàng)允許在一個(gè)組合邏輯輸出宏單元內(nèi)生成一個(gè)隱藏的寄存器反饋(這個(gè)特性是由fitter軟件自動(dòng)實(shí)現(xiàn)的)。除D、T、JK和SR類型外,ATF1508AS的觸發(fā)器還可配置為鎖存器。在這種模式中,當(dāng)時(shí)鐘為高時(shí),數(shù)據(jù)通過;當(dāng)時(shí)鐘為低時(shí),數(shù)據(jù)鎖存。
時(shí)鐘信號(hào)可以是全局CLK信號(hào)(GCK)和一個(gè)單獨(dú)的乘積項(xiàng)。觸發(fā)器在時(shí)鐘的上升沿改變狀態(tài)。當(dāng)GCK信號(hào)作為時(shí)鐘信號(hào)時(shí),宏單元的一個(gè)乘積項(xiàng)可以選擇作為時(shí)鐘允許信號(hào)。當(dāng)使用時(shí)鐘使能功能時(shí),使能信號(hào)(乘積項(xiàng))為低時(shí),所有的時(shí)鐘邊沿將被忽略。觸發(fā)器的異步復(fù)位信號(hào)(AR)可以是全局復(fù)位信號(hào)(GCLEAR)、一個(gè)乘積項(xiàng)或不使用。AR也可以是GCLEAR和一個(gè)乘積項(xiàng)的邏輯或輸出。異步置位信號(hào)(AP)可以是一個(gè)乘積項(xiàng)或不使用。
(4)輸出選擇和使能
ATF1508AS宏單元的輸出可以選擇為寄存器型和組合型。隱藏的反饋信號(hào)可以是組合或寄存器信號(hào)而不管輸出是組合型還是寄存器型。輸出使能多路復(fù)用器(MOE)控制輸出使能信號(hào)。如果是簡單的輸出操作,任何緩沖器都可以永久使能。如果引腳用作輸入,緩沖器也可以永久禁止。在這種配置下,所有的宏單元資源仍然可用,包括隱藏的反饋信號(hào)、擴(kuò)展器和級(jí)聯(lián)邏輯。每一個(gè)宏單元的輸出使能信號(hào)都可以選擇一個(gè)全局輸出使能信號(hào)。該器件有6個(gè)全局輸出使能信號(hào)(OE)。
(5)邏輯陣列輸入
邏輯陣列輸入包括全局總線/開關(guān)矩陣和返送總線:
全局總線/開關(guān)矩陣
全局總線包括所有的輸入和I/O引腳信號(hào)以及所有128個(gè)宏單元的隱藏反饋信號(hào)。每個(gè)邏輯塊的開關(guān)矩陣將全局總線的所有信號(hào)作為其輸入。在軟件的控制下,這些信號(hào)中最多可以有40個(gè)被選擇作為邏輯塊的輸入。
返送總線
每一個(gè)宏單元可以產(chǎn)生一個(gè)返送乘積項(xiàng)。這個(gè)信號(hào)連接到局部總線上,并且對(duì)16個(gè)宏單元有效,它是宏單元一個(gè)乘積項(xiàng)的反極性。每個(gè)局部總線的16個(gè)返送項(xiàng)允許產(chǎn)生高扇入求和項(xiàng)(最多21個(gè)乘積項(xiàng)),而只有很小的延時(shí)。
3 設(shè)計(jì)軟件支持
ATMEL公司提供了CPLD的設(shè)計(jì)軟件,而且很多第三方的工具軟件也支持ATF1508AS的設(shè)計(jì),可以用多種高級(jí)描述語言和格式進(jìn)行邏輯描述,如CUPL、ABEL、VHDL等。由于ATF1508AS與ALTERA公司的EPM7000系列是完全引腳兼容的,因此可以使用ALTERA公司的MAXPLUSII軟件。它能進(jìn)行VHDL語言的編譯和綜合,使用方便,功能強(qiáng)大。MAXPLUSII綜合后產(chǎn)生適合ALTERA的CPLD編程的POF文件,使用POF2JED軟件(ATMEL公司提供),就可將POF文件轉(zhuǎn)換為適合ATF1508AS的工業(yè)標(biāo)準(zhǔn)JEDEC編程文件,下載到ATF1508AS芯片中。
4 器件編程
ATF1508AS器件是利用4腳JTAG協(xié)議在系統(tǒng)編程(ISP)的。ATMEL提供了ISP硬件(下載電纜)和軟件,以允許從PC對(duì)ATF1508AS進(jìn)行編程。若要允許ISP編程支持自動(dòng)測(cè)試裝置(ATE)向量,必須通過ATMEL的ISP軟件生成串行向量格式(SVF)文件,也可轉(zhuǎn)換為除SVF外的其它ATE測(cè)試格式。ATF1508AS器件也可以用標(biāo)準(zhǔn)的第三方編程器來編程,這時(shí)JTAG ISP口可以被禁止從而允許這四個(gè)額外的I/O引腳用于邏輯功能。
ATF1508AS還有一個(gè)特性就是如果由于任何原因編程過程被中斷,則器件將被鎖定以防止輸入和I/O引腳被驅(qū)動(dòng)。在這種狀態(tài)下,輸入和I/O引腳缺省下為高阻狀態(tài)。在編程器件時(shí),輸入和I/O引腳也將為高阻狀態(tài)。此外,引腳保持電路設(shè)置在器件編程期間將保持以前的狀態(tài)。ATF1508AS器件出廠時(shí)被初始化為已擦除狀態(tài),可以直接用來ISP編程。
結(jié)束語
CPLD器件的優(yōu)勢(shì)在于縮短開發(fā)生產(chǎn)周期,現(xiàn)場(chǎng)靈活性好,而且隨著電子技術(shù)的發(fā)展,其集成度越來越高,速度越來越快,價(jià)格也逐漸降低,因此市場(chǎng)發(fā)展很快。ATMEL公司的ATF1508AS是高性能、高密度的復(fù)雜可編程邏輯器件,使用方便,具有很高的性價(jià)比,因此具有廣闊的應(yīng)用前景。
參考文獻(xiàn)
1 ATMEL Corp. ATF1508AS Users Manual
2 ATMEL Corp. Designing for In-System Programmability with Atmel CPLDS
3 ATMEL Corp. Atmel PLD Frequently Asked Questions
4 Stefan Sjoholm,Lennart Lindh. 用VHDL設(shè)計(jì)電子線路. 北京:清華大學(xué)出版社,2000
5 PHILIPS Corp. PDIUSBD12 Users Manual
評(píng)論