国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

CPLD技術在PCI總線開關中的應用

發布時間:2010-7-26 14:38    發布者:lavida
關鍵詞: CPLD , PCI , 總線開關
PLD(可編程邏輯器件)以其操作靈活、使用方便、開發迅速、投資風險低的特點,很快發展起來,并越來越受人們的矚目。PLD是可以由用戶在工作現場編程的邏輯器件,它從簡單的PAL、GAL,已發展到CPLD、EPLD、FPGA和FLEX系列。他們都具有體系結構和邏輯單元靈活、集成度高以及適用范圍廣等特點。

同以往的PAL、GAL等相比較,FPGA/CPLD的規模比較大,適合于時序、組合等邏輯電路等場合應用?删幊踢壿嬈骷讓W、易用,簡化了系統設計,縮小了系統規模,提高了系統的可靠性。一個器件的可用門已達數萬門,引腳間延時僅幾ns,而且仍在朝著高密度、高速度的方向迅速發展。  

計算機總線是計算機各部件之間進行信息傳輸的公共通道。在當今的微型機中主要采用的是PCI總線,ISA、EISA總線正逐步被淘汰。所以對硬件設計人員來說,掌握PCI總線板卡的開發技術是非常重要的。板卡的設計方法通常有這么幾種:一是做ASIC,開發周期長;另一種是在專用接口芯片下開發,但使用不是很靈活,系統規模大;目前最新的方法是用PLD來開發設計。  

在進行CPLD設計時,筆者使用的軟件是Altera的MAX+PLUSII。Altera的MAX+PLUSII開發系統是一個完全集成化、易學易用的、與結構無關的可編程邏輯設計環境,它使通用系列設計者能方便的進行設計輸入、快速處理和器件編程,使用此軟件的設計方法是很靈活的,可以采用硬件描述語言(PLD)、電路圖,甚至是時序圖。根據不同的情況可以采用不同的方法,在一個設計中也可以采用多種方法。下面以一個簡單的PCI從設備設計為例,說明設計思想與過程。  

在本例中,設計的PCI卡作為從設備使用,可以實現即插即用功能,卡上有1MB的存儲器可供使用。在PCI即插即用板卡的設計中,核心設計有兩部分:時序控制和配置空間。時序控制保證了板卡能按正常的PCI時序工作,配置空間部分保證了板卡的即插即用功能。  

在本例中,這兩部分都由AHDL語言來實現的(AHDL語言是Altera公司專門為其芯片設計開發的一種硬件描述語言)。在時序控制程序中采用狀態機模型來實現不同時序的轉換,采用這種方式既節省資源,程序也簡單易懂。  

本例中的狀態機共使用了七種狀態,分別對應空閑、存儲器讀寫的判斷、配置讀寫的判斷、讀、寫、過渡周期、總線忙周期的時序。板卡接到復位信號后,對系統進行復位,然后轉入空閑狀態。在空閑狀態中采樣總線,并根據總線的變化來決定下一個時鐘上升沿后,狀態機轉入何種狀態。這些時序和程序中用到的信號都是基本且必須的。在進行開發時可以根據需要增添必要的狀態和信號。程序描述如下:  

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;)  
//以上定義了狀態機模塊的輸入輸出引腳  
VARIABLE  
pci_state:MACHINE  
WITHSTATES(idle,cmp_cfg,cmp_addr,read,write,turn_ar,bus_busy);  
//定義狀態機變量,共有七個狀態空閑狀態idle,配置空間操作cmp_cfg,比較地址cmp_addr,讀狀態read,寫狀態write,過渡周期狀態turn_ar,總線忙狀態bus_busy。通過狀態機的不同狀態實現時序的轉換,在每個狀態中實現不同的時序周期。  
BEGIN  
初始化:對內部信號和各個輸入輸出引腳進行初始化,設定它們的連接關系。  
IFrst==b"0"THEN//判斷是否復位  
實現復位的時序操作。  
ELSE  
CASEpci_stateIS  
WHENidle=>//空閑狀態  
在此狀態中,每個時鐘周期判斷frame和idsel信號的變化,一旦發現frame被置為有效,就根據idsel信號判斷下一狀態轉入對配置空間操作的cmp_cfg或是比較地址對存儲器操作的cmp_addr  
WHENcmp_cfg=>//對配置空間操作的狀態  
在此狀態中根據地址線的低兩位判斷是否是對配置空間的操作,若不是轉入總線忙狀態bus_busy;若是則根據cbe的信號是A或B來判斷是讀還是寫,轉入相應的狀態read,write。  
WHENcmp_addr=>//地址比較狀態  
在此狀態中判斷要讀寫地址的高位與配置空間中分配的地址是否相同,若不同轉入總線忙狀態bus_busy;若相同則根據cbe的信號是6或7來判斷是讀還是寫,轉入相應的狀態read,write。  
WHENread=>//讀狀態  
在此狀態中,根據cbe的值判斷是配置讀還是存儲讀,然后控制輸出信號mem_rd,cfg_rd,trdy,devsel產生相應的讀時序,同時在此周期中判斷frame,irdy信號,若irdy變低并且frame變高,則讀狀態結束,轉入turn_ar狀態.  
WHENwrite=>//寫狀態  
在此狀態中,根據cbe的值判斷是配置寫還是存儲寫,然后控制輸出信號mem_wr,cfg_wr,trdy,devsel產生相應的寫時序,同時在此周期中判斷frame,irdy信號,若irdy變低并且frame變高,則寫狀態結束,轉入turn_ar狀態。  
WHENturn_ar=>//信號的過渡周期狀態  
按照PCI的總線規范,S/T/S信號,從有效變為浮空之前必須保證使其具有至少一個時鐘周期的高電平狀態,此狀態中,將所有的S/T/S信號置為高。  
WHENbus_busy=>//總線忙狀態  
總線不對本卡操作,因此通過對frame信號的判斷,來決定何時脫離本狀態。  
WHENOTHERS=>  
若進入此狀態,則應根據需要,馬上轉入bus_busy或idle  
ENDCASE;  
ENDIF;  
END;  

配置空間部分也采用AHDL語言來描述實現,在配置空間中定義PCI卡的功能、內存空間的分配、以及產品號、ID號等.通過對配置空間的定義,才能保證板卡的即插即用功能.描述如下:  

subdesignconfig  
(add[5..0],idata[n..0],int_data[7..0],rd,wr,clk:input;  
odata[31..0],barout[12..0]  
:output;)//定義輸入輸出  
begin  
初始化:對引腳進行初始化,指定它們的邏輯關系.  
bar0[]=idata[];  
table  
add[]=>outtri[31..0]。In;  
b"000000"=>h"88881172";  
b"000001"=>h"02000002";  
b"000010"=>h"ff000000";  
endtable;//配置空間中前三行的內容,可根據需要設定.  
ifadd[]==b"000100"then//對存儲  
器的地址分配  
向配置空間的基址寄存器區的高位,系統啟動時寫入分配給本卡存儲器的起始地址  
endif;  
ifadd[]==b"001111"then//寫中斷  
向量  
寫入系統啟動時分配給本卡的中斷向量  
endif;  
end;  

兩部分都通過軟件生成模塊,兩模塊之間的接口部分,可以很容易的通過電路圖的連接來實現。兩個模塊圖如圖。  

使用CPLD技術開發PCI板卡有以下優點:  

1、開發周期短、成本低、投資風險小,標準產品無需測試、質量穩定,可實時在線檢驗。采用CPLD技術設計完成后,可以進行實時的時序仿真。驗證改進設計結果,而不需重復的硬件試驗。設計通過后寫入芯片,通過測試即可投入使用。比使用一些專用的PCI芯片開發要簡單,而且省去了其他開發設備,所以成本也較低。比之ASIC開發的周期則要短的多。  

2、使用靈活方便。由于開發的板卡是直接在總線的基本規范上進行,沒有使用一些專用芯片,因而開發更靈活、自由,受到的限制更少,整個硬件模塊的規模也較小,可以將很多自己的算法與技術和PCI合成在一起,做出技術含量更高的產品。  

3、有利于知識產權的保護和軟件性能的提高。利用這項技術可以將自己的的算法、技術和一些軟件做成硬件固化到卡上,既提高了運行速度,也使盜版者難以復制。  

本文結合一個實例給出了在PCI總線上利用CPLD技術設計各種板卡的設計方案,簡單實用,有很高的應用價值。
本文地址:http://m.qingdxww.cn/thread-16944-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 無線充電基礎知識及應用培訓教程3
  • 無線充電基礎知識及應用培訓教程2
  • 想要避免發生災難,就用MPLAB® SiC電源仿真器!
  • 5分鐘詳解定時器/計數器E和波形擴展!
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品一区二区三区视频 | 国内成人精品视频 | 香蕉精品视频在线观看 | 国产日本亚洲欧美 | 男女www| 国产欧美日本亚洲精品五区 | 日韩精品一区在线 | 四虎院影永久在线观看 | 1000部又爽又黄无遮挡的视频 | 草草影院第一页 | 日日干日日操 | 亚洲日本天堂 | 国产精品手机在线亚洲 | 男女免费高清在线爱做视频 | 亚洲大黑香蕉在线观看75 | 青青青草视频 | 岛国视频在线观看免费播放 | 国产成人99 | 毛片在线播放视频 | 亚洲日本中文 | 国产又色又爽又黄 | 免费人成在线观看网站视频 | 亚洲欧美第一 | 国产3区 | 国产精品一区二区免费 | 精品国产综合成人亚洲区 | 中文线码中文高清播放中 | 边摸边操 | 日本免费人成黄页网观看视频 | 日韩免费专区 | 一级特级毛片 | 麻豆国产高清在线播放 | 综合色播| 四虎小视频 | 91在线青春娱乐精品分类 | 三分野电视剧手机免费观看 | 日本爽视频 | 欧美69精品国产成人 | 日韩美香港a一级毛片 | 欧美污污网站 | 成年男女免费视频观看性 |