新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > FLEX 10K系列EAD的應(yīng)用

FLEX 10K系列EAD的應(yīng)用

作者: 時(shí)間:2012-09-20 來(lái)源:網(wǎng)絡(luò) 收藏

摘要: 是ALTERA公司研制的第一個(gè)嵌入式的PLD可編程邏輯器件系列。它具有高密度、低成本、低功率等特點(diǎn),利用 系列CPLD可編程邏輯器件的EAB可在系統(tǒng)中實(shí)現(xiàn)邏輯功能和存貯功能,文中介紹了EAB的幾個(gè)應(yīng)用實(shí)例,同時(shí)給出了采用VHDL語(yǔ)言編寫的VHD的文件及其具體代碼。

本文引用地址:http://www.butianyuan.cn/article/189894.htm

關(guān)鍵詞:CPLD 嵌入式陣列塊(EAB) FIFO 雙端口RAM VHDL

1 概述 是Altera公司研制的第一個(gè)嵌入式的PLD,它具有高密度、低成本、低功率等特點(diǎn),是當(dāng)今altera CPLD中應(yīng)用前景最好的器件系列之一。

它采用了重復(fù)可構(gòu)造的CMOS SRAM工藝,并把連續(xù)的快速通道互連與獨(dú)特的嵌入式陣列結(jié)構(gòu)相結(jié)合,同時(shí)可結(jié)合眾多可編程器件來(lái)完成普通門陣列的宏功能。每一個(gè)FLEX 10K器件均包括一個(gè)嵌入式陣列和一個(gè)邏輯陣列,因而設(shè)計(jì)人員可輕松地開(kāi)發(fā)集存貯器、數(shù)字信號(hào)處理器及特殊邏輯等強(qiáng)大功能于一身的芯片。 EAB(Embedded Array Blocks)的概念源于門陣列的嵌入式功能,為了使復(fù)雜的功能在盡可能小的硅片上得以實(shí)現(xiàn),通常需把定制的硅片放在門陣列基片之上。Altera公司首先把這一技術(shù)應(yīng)用于FLEX 10K器件系列。 FLEX 10K中的嵌入式陣列由一系列具有實(shí)現(xiàn)邏輯功能和存貯功能的FAB組成。EAB是在輸入、輸出口上帶有寄存器的RAM塊,利用它可以非常方便地實(shí)現(xiàn)一些規(guī)模不太大的ROM、RAM、雙端口RAM和FIFO等功能。

2 EAB的結(jié)構(gòu)

每個(gè)FLEX 10K中的EAB均含有2048bit的RAM。另外,每個(gè)EAB單元中還包括數(shù)據(jù)區(qū)、總線和讀/寫控制等幾部分。圖1所示為EAB單元的內(nèi)都結(jié)構(gòu)。 數(shù)據(jù)區(qū)是EAB的核心部分,每個(gè)EAB包含2048bit的RAM,同時(shí)又可根據(jù)數(shù)據(jù)線/地址線的不同設(shè)置將其寬度調(diào)整為2048×1bit,1024×2bit,512×4bit,256×8bit等。 總線是指EAB中所包括的三條總線,即輸入數(shù)據(jù)總線、地址總線和輸出數(shù)據(jù)總線。其中輸入數(shù)據(jù)總線可以配制成8bit、4bit、2bit或1bit位寬;地址總線同數(shù)據(jù)總線相適應(yīng),具有8bit、9bit、10bit或11bit位寬;而輸出數(shù)據(jù)總線則與輸入總線相對(duì)應(yīng),這三條總線都設(shè)計(jì)有同步/異步兩種工作方式。 第三部分為讀/寫控制部分。當(dāng)EAB用于異步RAM電路時(shí),必須外加RAM寫使能信號(hào)WE,以保證數(shù)據(jù)和地址信號(hào)滿足其時(shí)序要求,而當(dāng)EAB用作同步RAM時(shí),它可以產(chǎn)生相對(duì)其全局時(shí)鐘信號(hào)的WE信號(hào)。EAB的RAM與EPGA中的分布式RAM不同,F(xiàn)LEX 10k EAB能夠信號(hào)可預(yù)測(cè)的定時(shí)關(guān)系,而且EAB的寫使能信號(hào)(WE)即可與輸入時(shí)鐘同步工作,也可以異步工作。另外,EAB還包含用于同步設(shè)計(jì)的輸入寄存器、輸出寄存器和地址寄存器。EAB的輸出可以是寄存器輸出,也可以是組合輸出,EAB RAM的大小很靈活,因此,它既可以配置成256×8、512×4,也可以配置成1024×2或2048×1。FLEX 10K器件的EAB資源如表1所列。EAB的RAM資源較為豐富,可用來(lái)設(shè)計(jì)RAM、FIFO及雙端口RAM等許多應(yīng)用電路。

FLEX 1K器件EAB資源 器件型號(hào) EAB的個(gè)數(shù) EPF10K10 EPF10K10A 3 EPF10K20 6 EPF10K30 EPF10K30A EPF10K30B 6 EPF10K40 8 EPF10K50 EPF10K50V EPF10K50B 10 EPF10K70 9 EPF10K100 EPF10K100A EPF10K100B 12 EPF10K130V EPF10K130B 16

3 FLEX 10K的應(yīng)用

3.1 RAM的設(shè)計(jì) RAM的設(shè)計(jì)分同步RAM或異步RAM,當(dāng)設(shè)計(jì)同步RAM時(shí),DATA信號(hào)和ADDRESS信號(hào)應(yīng)在EAB中鎖存。包括WE在內(nèi),所有信號(hào)均應(yīng)在EAB內(nèi)完成,這樣可以排除一些可能破壞數(shù)據(jù)時(shí)序的潛在故障。當(dāng)WE信號(hào)被鎖定為高時(shí),EAB內(nèi)部電路會(huì)產(chǎn)生一個(gè)與DATA信號(hào)和ADDRESS信號(hào)的建立和保持時(shí)間相匹配的寫脈沖。

而在用異步RAM方式時(shí),一定要遵從以下幾個(gè)原則:

(1)WE信號(hào)一定要避免那些可能會(huì)無(wú)意覆蓋RAM區(qū)數(shù)據(jù)的時(shí)序。

(2)WE信號(hào)的建立與保持時(shí)間一定要與DATA和ADDRESS信號(hào)相適應(yīng)。

(3)當(dāng)WE=1時(shí),ADDRESS信號(hào)不能發(fā)生變化。由于FLEX 10K器件都有多個(gè)EAB,所以可由多個(gè)EAB來(lái)構(gòu)成所需要的RAM。 LPM(Library Of Parameterized Modules)是一個(gè)參數(shù)化的模塊庫(kù),它是優(yōu)秀的版圖設(shè)計(jì)人員和軟件人員智慧的結(jié)晶。通過(guò)修改LPM器件的某些參數(shù),可很容易地到達(dá)設(shè)計(jì)要求。下面的RAM(VHD)文件是一個(gè)寄存器輸入、寄存器輸出的1k×8RAMr VHDL設(shè)計(jì)代碼: RAM.VHD Library ieee; Use ieee,std_logic_1164.all; Library lpm; Use lpm.lpm-compONents.all; Entity LL is Generic (data-width:integer:=8;addr-width:interer:=10); Port (data:in std-logic-vector(data-width-1downto 0); addresss:in std-logic-vector(addr-width-1 downto 0)); End LL; Architcture RAM of LL is Begin U1:lpm-ram-dp Generic map (lpm-widthad=>addr-width,lmp-width=>data-width) Prot map(data=>data,address=>address,we q=q); End; 輸入 data[ ]: 數(shù)據(jù)輸入RAM address[ ]:地址輸入RAM we: 寫使能 inclock :同步輸入時(shí)鐘 outclock: 同步輸出時(shí)鐘 輸出 q[ ]: 數(shù)據(jù)輸出


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FLEX 10K EAD

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉