![CPLD技術(shù)在PCI總線開關(guān)中的應(yīng)用-設(shè)計(jì)應(yīng)用_第1頁](http://file4.renrendoc.com/view/a88a82b7d9aa5c3fd9588a634a12fcb4/a88a82b7d9aa5c3fd9588a634a12fcb41.gif)
![CPLD技術(shù)在PCI總線開關(guān)中的應(yīng)用-設(shè)計(jì)應(yīng)用_第2頁](http://file4.renrendoc.com/view/a88a82b7d9aa5c3fd9588a634a12fcb4/a88a82b7d9aa5c3fd9588a634a12fcb42.gif)
![CPLD技術(shù)在PCI總線開關(guān)中的應(yīng)用-設(shè)計(jì)應(yīng)用_第3頁](http://file4.renrendoc.com/view/a88a82b7d9aa5c3fd9588a634a12fcb4/a88a82b7d9aa5c3fd9588a634a12fcb43.gif)
![CPLD技術(shù)在PCI總線開關(guān)中的應(yīng)用-設(shè)計(jì)應(yīng)用_第4頁](http://file4.renrendoc.com/view/a88a82b7d9aa5c3fd9588a634a12fcb4/a88a82b7d9aa5c3fd9588a634a12fcb44.gif)
![CPLD技術(shù)在PCI總線開關(guān)中的應(yīng)用-設(shè)計(jì)應(yīng)用_第5頁](http://file4.renrendoc.com/view/a88a82b7d9aa5c3fd9588a634a12fcb4/a88a82b7d9aa5c3fd9588a634a12fcb45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精品文檔-下載后可編輯CPLD技術(shù)在PCI總線開關(guān)中的應(yīng)用-設(shè)計(jì)應(yīng)用PLD(可編程邏輯器件)以其操作靈活、使用方便、開發(fā)迅速、投資風(fēng)險(xiǎn)低的特點(diǎn),很快發(fā)展起來,并越來越受人們的矚目。PLD是可以由用戶在工作現(xiàn)場編程的邏輯器件,它從簡單的PAL、GAL,已發(fā)展到CPLD、EPLD、FPGA和FLEX系列。他們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍廣等特點(diǎn)。同以往的PAL、GAL等相比較,F(xiàn)PGA/CPLD的規(guī)模比較大,適合于時(shí)序、組合等邏輯電路等場合應(yīng)用。可編程邏輯器件易學(xué)、易用,簡化了系統(tǒng)設(shè)計(jì),縮小了系統(tǒng)規(guī)模,提高了系統(tǒng)的可靠性。一個(gè)器件的可用門已達(dá)數(shù)萬門,引腳間延時(shí)僅幾ns,而且仍在朝著高密度、高速度的方向迅速發(fā)展。
計(jì)算機(jī)總線是計(jì)算機(jī)各部件之間進(jìn)行信息傳輸?shù)墓餐ǖ?。在?dāng)今的微型機(jī)中主要采用的是PCI總線,ISA、EISA總線正逐步被淘汰。所以對硬件設(shè)計(jì)人員來說,掌握PCI總線板卡的開發(fā)技術(shù)是非常重要的。板卡的設(shè)計(jì)方法通常有這么幾種:一是做ASIC,開發(fā)周期長;另一種是在專用接口芯片下開發(fā),但使用不是很靈活,系統(tǒng)規(guī)模大;目前的方法是用PLD來開發(fā)設(shè)計(jì)。
在進(jìn)行CPLD設(shè)計(jì)時(shí),筆者使用的軟件是Altera的MAX+PLUSII。Altera的MAX+PLUSII開發(fā)系統(tǒng)是一個(gè)完全集成化、易學(xué)易用的、與結(jié)構(gòu)無關(guān)的可編程邏輯設(shè)計(jì)環(huán)境,它使通用系列設(shè)計(jì)者能方便的進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程,使用此軟件的設(shè)計(jì)方法是很靈活的,可以采用硬件描述語言(PLD)、電路圖,甚至是時(shí)序圖。根據(jù)不同的情況可以采用不同的方法,在一個(gè)設(shè)計(jì)中也可以采用多種方法。下面以一個(gè)簡單的PCI從設(shè)備設(shè)計(jì)為例,說明設(shè)計(jì)思想與過程。
在本例中,設(shè)計(jì)的PCI卡作為從設(shè)備使用,可以實(shí)現(xiàn)即插即用功能,卡上有1MB的存儲(chǔ)器可供使用。在PCI即插即用板卡的設(shè)計(jì)中,設(shè)計(jì)有兩部分:時(shí)序控制和配置空間。時(shí)序控制保證了板卡能按正常的PCI時(shí)序工作,配置空間部分保證了板卡的即插即用功能。
在本例中,這兩部分都由AHDL語言來實(shí)現(xiàn)的(AHDL語言是Altera公司專門為其芯片設(shè)計(jì)開發(fā)的一種硬件描述語言)。在時(shí)序控制程序中采用狀態(tài)機(jī)模型來實(shí)現(xiàn)不同時(shí)序的轉(zhuǎn)換,采用這種方式既節(jié)省資源,程序也簡單易懂。
本例中的狀態(tài)機(jī)共使用了七種狀態(tài),分別對應(yīng)空閑、存儲(chǔ)器讀寫的判斷、配置讀寫的判斷、讀、寫、過渡周期、總線忙周期的時(shí)序。板卡接到復(fù)位信號(hào)后,對系統(tǒng)進(jìn)行復(fù)位,然后轉(zhuǎn)入空閑狀態(tài)。在空閑狀態(tài)中采樣總線,并根據(jù)總線的變化來決定下一個(gè)時(shí)鐘上升沿后,狀態(tài)機(jī)轉(zhuǎn)入何種狀態(tài)。這些時(shí)序和程序中用到的信號(hào)都是基本且必須的。在進(jìn)行開發(fā)時(shí)可以根據(jù)需要增添必要的狀態(tài)和信號(hào)。程序描述如下:
subdesignstatesmachine
(clk,rst,frame,ad[31..0],cbe[3..0],idsel,irdy,mem_bar[12..0]:input;
devsel,trdy,cfg_rd,cfg_wr,mem_rd,mem_wr:output;
cfg_addr[5..0],mem_addr[16..0]:output;)
//以上定義了狀態(tài)機(jī)模塊的輸入輸出引腳
VARIABLE
pci_state:MACHINE
WITHSTATES(idle,cmp_cfg,cmp_addr,read,write,turn_ar,bus_busy);
//定義狀態(tài)機(jī)變量,共有七個(gè)狀態(tài)空閑狀態(tài)idle,配置空間操作cmp_cfg,比較地址cmp_addr,讀狀態(tài)read,寫狀態(tài)write,過渡周期狀態(tài)turn_ar,總線忙狀態(tài)bus_busy。通過狀態(tài)機(jī)的不同狀態(tài)實(shí)現(xiàn)時(shí)序的轉(zhuǎn)換,在每個(gè)狀態(tài)中實(shí)現(xiàn)不同的時(shí)序周期。
BEGIN
初始化:對內(nèi)部信號(hào)和各個(gè)輸入輸出引腳進(jìn)行初始化,設(shè)定它們的連接關(guān)系。
IFrst==b"0"THEN//判斷是否復(fù)位
實(shí)現(xiàn)復(fù)位的時(shí)序操作。
ELSE
CASEpci_stateIS
WHENidle=//空閑狀態(tài)
在此狀態(tài)中,每個(gè)時(shí)鐘周期判斷frame和idsel信號(hào)的變化,一旦發(fā)現(xiàn)frame被置為有效,就根據(jù)idsel信號(hào)判斷下一狀態(tài)轉(zhuǎn)入對配置空間操作的cmp_cfg或是比較地址對存儲(chǔ)器操作的cmp_addr
WHENcmp_cfg=//對配置空間操作的狀態(tài)
在此狀態(tài)中根據(jù)地址線的低兩位判斷是否是對配置空間的操作,若不是轉(zhuǎn)入總線忙狀態(tài)bus_busy;若是則根據(jù)cbe的信號(hào)是A或B來判斷是讀還是寫,轉(zhuǎn)入相應(yīng)的狀態(tài)read,write。
WHENcmp_addr=//地址比較狀態(tài)
在此狀態(tài)中判斷要讀寫地址的高位與配置空間中分配的地址是否相同,若不同轉(zhuǎn)入總線忙狀態(tài)bus_busy;若相同則根據(jù)cbe的信號(hào)是6或7來判斷是讀還是寫,轉(zhuǎn)入相應(yīng)的狀態(tài)read,write。
WHENread=//讀狀態(tài)
在此狀態(tài)中,根據(jù)cbe的值判斷是配置讀還是存儲(chǔ)讀,然后控制輸出信號(hào)mem_rd,cfg_rd,trdy,devsel產(chǎn)生相應(yīng)的讀時(shí)序,同時(shí)在此周期中判斷frame,irdy信號(hào),若irdy變低并且frame變高,則讀狀態(tài)結(jié)束,轉(zhuǎn)入turn_ar狀態(tài).
WHENwrite=//寫狀態(tài)
在此狀態(tài)中,根據(jù)cbe的值判斷是配置寫還是存儲(chǔ)寫,然后控制輸出信號(hào)mem_wr,cfg_wr,trdy,devsel產(chǎn)生相應(yīng)的寫時(shí)序,同時(shí)在此周期中判斷frame,irdy信號(hào),若irdy變低并且frame變高,則寫狀態(tài)結(jié)束,轉(zhuǎn)入turn_ar狀態(tài)。
WHENturn_ar=//信號(hào)的過渡周期狀態(tài)
按照PCI的總線規(guī)范,S/T/S信號(hào),從有效變?yōu)楦】罩氨仨毐WC使其具有至少一個(gè)時(shí)鐘周期的高電平狀態(tài),此狀態(tài)中,將所有的S/T/S信號(hào)置為高。
WHENbus_busy=//總線忙狀態(tài)
總線不對本卡操作,因此通過對frame信號(hào)的判斷,來決定何時(shí)脫離本狀態(tài)。
WHENOTHERS=
若進(jìn)入此狀態(tài),則應(yīng)根據(jù)需要,馬上轉(zhuǎn)入bus_busy或idle
ENDCASE;
ENDIF;
END;
配置空間部分也采用AHDL語言來描述實(shí)現(xiàn),在配置空間中定義PCI卡的功能、內(nèi)存空間的分配、以及產(chǎn)品號(hào)、ID號(hào)等.通過對配置空間的定義,才能保證板卡的即插即用功能.描述如下:
subdesignconfig
(add[5..0],idata[n..0],int_data[7..0],rd,wr,clk:input;
odata[31..0],barout[12..0]
:output;)//定義輸入輸出
begin
初始化:對引腳進(jìn)行初始化,指定它們的邏輯關(guān)系.
bar0[]=idata[];
table
add[]=outtri[31..0]。In;
b"000000"=h"88881172";
b"000001"=h"02000002";
b"000010"=h"ff000000";
endtable;//配置空間中前三行的內(nèi)容,可根據(jù)需要設(shè)定.
ifadd[]==b"000100"then//對存儲(chǔ)
器的地址分配
向配置空間的基址寄存器區(qū)的高位,系統(tǒng)啟動(dòng)時(shí)寫入分配給本卡存儲(chǔ)器的起始地址
endif;
ifadd[]==b"001111"then//寫中斷
向量
寫入系統(tǒng)啟動(dòng)時(shí)分配給本卡的中斷向量
endif;
end;
兩部分都通過軟件生成模塊,兩模塊之間的接口部分,可以很容易的通過電路圖的連接來實(shí)現(xiàn)。兩個(gè)模塊圖如圖。
使用CPLD技術(shù)開發(fā)PCI板卡有以下優(yōu)點(diǎn):
1、開發(fā)周期短、成本低、投資風(fēng)險(xiǎn)小,標(biāo)準(zhǔn)產(chǎn)品無需測試、質(zhì)量穩(wěn)定,可實(shí)時(shí)在線檢驗(yàn)。采用CPLD技術(shù)設(shè)計(jì)完成后,可以進(jìn)行實(shí)時(shí)的時(shí)序仿真。驗(yàn)證改進(jìn)設(shè)計(jì)結(jié)果,而不需重復(fù)的硬件試驗(yàn)。設(shè)計(jì)通過后寫入芯片,通過測試即可投入使用。比使用一些專用的PCI芯片開發(fā)要簡單,而且省去了其他開發(fā)設(shè)備,所以成本也較低。比之ASIC開發(fā)的周期則要短的多。
2、使用靈活方便。由于開發(fā)的板卡是直接在總線的基本規(guī)范上進(jìn)行,沒有使用一些專用芯片,因而開發(fā)更靈活、自由,受到的限制更少,整個(gè)硬件模塊的規(guī)模也較小
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- racemic-Biotin-sulfoxide-生命科學(xué)試劑-MCE-2914
- 2α-Mannobiose-生命科學(xué)試劑-MCE-5577
- 二零二五年度商標(biāo)同授權(quán)與品牌授權(quán)管理服務(wù)協(xié)議
- 2025年度職工食堂承包協(xié)議書(含員工餐飲服務(wù)品牌建設(shè))
- 2025年度體育賽事營銷合作二零二五年度協(xié)議書
- 2025年度白酒企業(yè)人才培訓(xùn)與行業(yè)交流合作協(xié)議
- 二零二五年度股東清算與資產(chǎn)清算評(píng)估協(xié)議
- 二零二五年度炊事員臨時(shí)聘用合同執(zhí)行與監(jiān)督規(guī)范
- 2025年度房地產(chǎn)貸款擔(dān)保合同模板二零二五年度版
- 2025年度銷售保密協(xié)議:針對高端科技產(chǎn)品市場適用
- 人教版高一數(shù)學(xué)上冊期末考試試卷及答案
- 國有金融企業(yè)年金管理辦法
- 安全學(xué)原理第2版-ppt課件(完整版)
- 傾聽是一種美德
- 《水上加油站安全與防污染技術(shù)要求》J
- 統(tǒng)編版三年級(jí)語文下冊第三單元《綜合性學(xué)習(xí):中華傳統(tǒng)節(jié)日》教案
- EN50317-2002-鐵路應(yīng)用集電系統(tǒng)受電弓和接觸網(wǎng)的動(dòng)力交互
- 項(xiàng)目部組織機(jī)構(gòu)框圖(共2頁)
- 機(jī)動(dòng)車登記證書
- 彈性力學(xué)第十一章彈性力學(xué)的變分原理
- 鉭鈮礦開采項(xiàng)目可行性研究報(bào)告寫作范文
評(píng)論
0/150
提交評(píng)論