CPLD技術(shù)在PCI總線開發(fā)中的應(yīng)用
發(fā)布時間:2007/9/11 0:00:00 訪問次數(shù):511
摘要:根據(jù)CPLD可編程技術(shù)具有功能集成度高、設(shè)計靈活,開發(fā)周期短、成本低的特點,本文給出了一種使用Altera公司的芯片以及開發(fā)軟件,設(shè)計開發(fā)PCI總線上的各種即插即用板卡的具體設(shè)計方法。
關(guān)鍵詞:CPLD PCI總線 即插即用
PLD與PCI簡介
PLD(可編程邏輯器件)以其操作靈活、使用方便、開發(fā)迅速、投資風險低的特點,很快發(fā)展起來,并越來越受人們的矚目。PLD是可以由用戶在工作現(xiàn)場編程的邏輯器件,它從簡單的PAL、GAL,已發(fā)展到CPLD、EPLD、FPGA和FLEX系列。他們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍廣等特點。
同以往的PAL、GAL等相比較,F(xiàn)PGA/CPLD的規(guī)模比較大,適合于時序、組合等邏輯電路等場合應(yīng)用。可編程邏輯器件易學、易用,簡化了系統(tǒng)設(shè)計,縮小了系統(tǒng)規(guī)模,提高了系統(tǒng)的可靠性。一個器件的可用門已達數(shù)萬門,引腳間延時僅幾ns,而且仍在朝著高密度、高速度的方向迅速發(fā)展。
計算機總線是計算機各部件之間進行信息傳輸?shù)墓餐ǖ。在當今的微型機中主要采用的是PCI總線,ISA、EISA總線正逐步被淘汰。所以對硬件設(shè)計人員來說,掌握PCI總線板卡的開發(fā)技術(shù)是非常重要的。板卡的設(shè)計方法通常有這么幾種:一是做ASIC,開發(fā)周期長;另一種是在專用接口芯片下開發(fā),使使用不是很靈活,系統(tǒng)規(guī)模大;目前最新的方法是用PLD來開發(fā)設(shè)計。
設(shè)計實例
在進行CPLD設(shè)計時,筆者使用的軟件是Altera的MAX+PLUS Ⅱ開發(fā)系統(tǒng)是一個完全集成化、易學易用的、與結(jié)構(gòu)無關(guān)的可編程邏輯設(shè)計環(huán)境,它使通用系統(tǒng)設(shè)計和者能方便的進行設(shè)計輸入、快速處理和器件編程,使用此軟件的設(shè)計方法是很靈活的,可以采用硬件描述語言(PLD)、電路圖,甚至是時序圖。根據(jù)不同的情況可以采用不同的方法,在一個設(shè)計中也可以采用多種方法。下面以一個簡單的PCI從設(shè)備設(shè)計為例,說明設(shè)計思想與過程。
在本例中,設(shè)計的PCI卡作為從設(shè)備使用,可以實現(xiàn)即插即用功能,卡上有1MB的存儲器可供使用。在PCI即插即用板卡的設(shè)計中,核心設(shè)計有兩部分:時序控制和配置空間。時序控制保證了板卡能按正常的PCC時序工作,配置空間部分保證了板卡的即插即用功能。
在本例中,這兩部分都由AHDL語言來實現(xiàn)的(AHDL語言是Altera公司專門為其芯片設(shè)計開發(fā)的一種硬件描述語言)。在時序控制程序中采用狀態(tài)機模型來實現(xiàn)不同時序的轉(zhuǎn)換,采用這種方式既節(jié)省資源,程序也簡單易懂。
本例中的狀態(tài)機共使用了七種狀態(tài),分別對應(yīng)空閑、存儲器讀寫的判斷、配置讀寫的判斷、讀、寫、過渡周期、總線忙周期的時序。板卡接到復(fù)位信號后,對系統(tǒng)進行復(fù)位,然后轉(zhuǎn)入空閑狀態(tài)。在空閑狀態(tài)中采用總線,并根據(jù)總線的變化來決定下一個時鐘上升沿后,狀態(tài)機轉(zhuǎn)入何種狀態(tài)。這些時序和程序中用到的信號都是基本且必須的。在進行開發(fā)時可以根據(jù)需要增添必要的狀態(tài)和信號。程序描述如下:
subdesign statesmachine
(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)機模塊的輸入輸出引腳
VARIABLE
pxg ci_state :MACHINE
WITHSTATES(idle,cmp_cfg,cmp_addr,read,write,turn_ar,bus_busy);
/
摘要:根據(jù)CPLD可編程技術(shù)具有功能集成度高、設(shè)計靈活,開發(fā)周期短、成本低的特點,本文給出了一種使用Altera公司的芯片以及開發(fā)軟件,設(shè)計開發(fā)PCI總線上的各種即插即用板卡的具體設(shè)計方法。
關(guān)鍵詞:CPLD PCI總線 即插即用
PLD與PCI簡介
PLD(可編程邏輯器件)以其操作靈活、使用方便、開發(fā)迅速、投資風險低的特點,很快發(fā)展起來,并越來越受人們的矚目。PLD是可以由用戶在工作現(xiàn)場編程的邏輯器件,它從簡單的PAL、GAL,已發(fā)展到CPLD、EPLD、FPGA和FLEX系列。他們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍廣等特點。
同以往的PAL、GAL等相比較,F(xiàn)PGA/CPLD的規(guī)模比較大,適合于時序、組合等邏輯電路等場合應(yīng)用?删幊踢壿嬈骷讓W、易用,簡化了系統(tǒng)設(shè)計,縮小了系統(tǒng)規(guī)模,提高了系統(tǒng)的可靠性。一個器件的可用門已達數(shù)萬門,引腳間延時僅幾ns,而且仍在朝著高密度、高速度的方向迅速發(fā)展。
計算機總線是計算機各部件之間進行信息傳輸?shù)墓餐ǖ馈T诋斀竦奈⑿蜋C中主要采用的是PCI總線,ISA、EISA總線正逐步被淘汰。所以對硬件設(shè)計人員來說,掌握PCI總線板卡的開發(fā)技術(shù)是非常重要的。板卡的設(shè)計方法通常有這么幾種:一是做ASIC,開發(fā)周期長;另一種是在專用接口芯片下開發(fā),使使用不是很靈活,系統(tǒng)規(guī)模大;目前最新的方法是用PLD來開發(fā)設(shè)計。
設(shè)計實例
在進行CPLD設(shè)計時,筆者使用的軟件是Altera的MAX+PLUS Ⅱ開發(fā)系統(tǒng)是一個完全集成化、易學易用的、與結(jié)構(gòu)無關(guān)的可編程邏輯設(shè)計環(huán)境,它使通用系統(tǒng)設(shè)計和者能方便的進行設(shè)計輸入、快速處理和器件編程,使用此軟件的設(shè)計方法是很靈活的,可以采用硬件描述語言(PLD)、電路圖,甚至是時序圖。根據(jù)不同的情況可以采用不同的方法,在一個設(shè)計中也可以采用多種方法。下面以一個簡單的PCI從設(shè)備設(shè)計為例,說明設(shè)計思想與過程。
在本例中,設(shè)計的PCI卡作為從設(shè)備使用,可以實現(xiàn)即插即用功能,卡上有1MB的存儲器可供使用。在PCI即插即用板卡的設(shè)計中,核心設(shè)計有兩部分:時序控制和配置空間。時序控制保證了板卡能按正常的PCC時序工作,配置空間部分保證了板卡的即插即用功能。
在本例中,這兩部分都由AHDL語言來實現(xiàn)的(AHDL語言是Altera公司專門為其芯片設(shè)計開發(fā)的一種硬件描述語言)。在時序控制程序中采用狀態(tài)機模型來實現(xiàn)不同時序的轉(zhuǎn)換,采用這種方式既節(jié)省資源,程序也簡單易懂。
本例中的狀態(tài)機共使用了七種狀態(tài),分別對應(yīng)空閑、存儲器讀寫的判斷、配置讀寫的判斷、讀、寫、過渡周期、總線忙周期的時序。板卡接到復(fù)位信號后,對系統(tǒng)進行復(fù)位,然后轉(zhuǎn)入空閑狀態(tài)。在空閑狀態(tài)中采用總線,并根據(jù)總線的變化來決定下一個時鐘上升沿后,狀態(tài)機轉(zhuǎn)入何種狀態(tài)。這些時序和程序中用到的信號都是基本且必須的。在進行開發(fā)時可以根據(jù)需要增添必要的狀態(tài)和信號。程序描述如下:
subdesign statesmachine
(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)機模塊的輸入輸出引腳
VARIABLE
g ci_state :MACHINE
WITHSTATES(idle,cmp_cfg,cmp_addr,read,write,turn_ar,bus_busy);
/
熱門點擊
- 基于Qt/Embedded的GUI移植及應(yīng)用
- 嵌入式電阻與電容
- 基于PSL語言的數(shù)字集成電路功能覆蓋率測試
- 可編程邏輯器件在數(shù)字系統(tǒng)中的應(yīng)用
- 用SignalTap嵌入邏輯分析儀驗證PLD
- 利用MATLAB增強MAX+PLUS II的
- 基于VHDL語言的智能撥號報警器的設(shè)計
- 一種基于移位寄存器的CAM的Verilog
- 用FPGA技術(shù)實現(xiàn)模擬雷達信號
- 現(xiàn)代可編程計算機控制器PCC及其應(yīng)用
推薦技術(shù)資料
- 聲道前級設(shè)計特點
- 與通常的Hi-Fi前級不同,EP9307-CRZ這臺分... [詳細]