導(dǎo)致片上總線與板上總線差異的因素有哪些?
隨著超大規(guī)模集成電路的迅速發(fā)展,半導(dǎo)體工業(yè)進(jìn)入深亞微米時(shí)代,器件特征尺寸越來(lái)越小,芯片規(guī)模越來(lái)越大,可以在單芯片上集成上百萬(wàn)到數(shù)億只晶體管。如此密集的集成度使我們現(xiàn)在能夠在一小塊芯片上把以前由CPU和外設(shè)等數(shù)塊芯片實(shí)現(xiàn)的功能集成起來(lái),由單片集成電路構(gòu)成功能強(qiáng)大的、完整的系統(tǒng),這就是我們通常所說(shuō)的片上系統(tǒng)。
IP復(fù)用是片上系統(tǒng)時(shí)代的核心技術(shù)之一。由于IP核的設(shè)計(jì)千差萬(wàn)別,它們要能夠直接連接,就要遵守相同的接口標(biāo)準(zhǔn)。在片上系統(tǒng)中,處理器核和所有外設(shè)通過(guò)共享總線互通互聯(lián),因此這些IP核必須遵守相同的總線規(guī)范??偩€規(guī)范定義的是IP核之間的通用接口,因此它定義了一套標(biāo)準(zhǔn)的信號(hào)和總線周期,以連接不同的模塊,而不是試圖去規(guī)范IP核的功能和接口如何實(shí)現(xiàn)。一個(gè)片上總線(On-Chip Bus,OCB)規(guī)范一般需要定義各個(gè)模塊之間初始化、仲裁、請(qǐng)求傳輸、響應(yīng)、發(fā)送接收等過(guò)程中驅(qū)動(dòng)、時(shí)序、策略等關(guān)系。
芯片與電路板的資源和環(huán)境的不同,導(dǎo)致片上總線與板上總線存在若干明顯差異,包括:
①片上總線多采用單向信號(hào)線,而板上總線多采用三態(tài)信號(hào)。片上三態(tài)總線無(wú)論在功耗、速度、可測(cè)性上都存在很大缺陷,而且一旦出現(xiàn)多驅(qū)動(dòng)情況便會(huì)損毀芯片(比如若應(yīng)該輸出"Z"的信號(hào)實(shí)際輸出為"1",而另有一個(gè)信號(hào)輸出為"0",就形成一個(gè)低電阻通路,導(dǎo)致局部電流過(guò)大,熱量難以及時(shí)釋放,從而增加芯片功耗和大大降低芯片壽命)。由于片上布線資源較為豐富,因此片上總線多采用單向信號(hào)線。由于電路板上布線資源較為昂貴,因此板上總線多采用三態(tài)總線,但是由于三態(tài)總線的功耗問(wèn)題和速度限制,目前板上總線也在向串行和非三態(tài)方向發(fā)展,如USB和PCI Express。
②片上總線比板上總線更加簡(jiǎn)單靈活。首先片上總線結(jié)構(gòu)要簡(jiǎn)單,這樣可以占用較少的邏輯單元;其次時(shí)序要簡(jiǎn)單,以利于提高總線的速度;第三接口要簡(jiǎn)單,如此可減少與IP核連接的復(fù)雜度。片上系統(tǒng)應(yīng)用廣泛,不同的應(yīng)用對(duì)總線的要求各異,因此片上總線具有較大的靈活性。其一,多數(shù)片上總線的數(shù)據(jù)和地址寬度都可變,其二,部分片上總線的互連結(jié)構(gòu)可變,如Wishbone總線支持點(diǎn)到點(diǎn)、數(shù)據(jù)流、共享總線和交叉開(kāi)關(guān)四種互連方式;其三,部分片上總線的仲裁機(jī)制靈活可變,如Wishbone總線的仲裁機(jī)制可以完全由用戶定制。而板上總線則較為死板,時(shí)序也更加苛刻。
目前比較常見(jiàn)的片上總線規(guī)范有ARM公司的AMBA、Silicore的Wishbone、IBM公司的CoreConnect和Altera公司的Avalon。其他三種總線各有特點(diǎn),其適用范圍也不同。AMBA 總線規(guī)范因ARM處理器的廣泛使用而擁有眾多第三方支持,被ARM公司90%以上的合作伙伴采用,已成為廣泛支持的現(xiàn)有互連標(biāo)準(zhǔn)之一。IBM公司的CoreConnect因?yàn)镮BM的業(yè)界地位也有廣泛的應(yīng)用。Avalon主要用于Altera公司系列FPGA中,最大的優(yōu)點(diǎn)在于其配置的簡(jiǎn)單性,可由EDA工具快速生成。這三種片上總線雖然都是公開(kāi)標(biāo)準(zhǔn),但都不是免費(fèi)的。而Wishbone則是一個(gè)真正開(kāi)放和免費(fèi)的規(guī)范。它最先是由Silicore公司提出的,目前由OpenCores組織維護(hù)。由于其開(kāi)放性,因此OpenCores上的免費(fèi)的IP核,大多數(shù)都采用Wishbone標(biāo)準(zhǔn)。Wishbone的優(yōu)勢(shì)除開(kāi)放、免費(fèi)、擁有眾多免費(fèi)IP核外,還有簡(jiǎn)單、靈活、輕量的特點(diǎn),特別適合大型IP內(nèi)部的小型IP之間的互聯(lián)。在很多OpenRISC處理器設(shè)計(jì)中,各個(gè)模塊間的互聯(lián)接口中大量的采用了Wishbone總線規(guī)范。
Wishbone已被OPENCORE 聯(lián)盟采用,并且有可能成為IEEE標(biāo)準(zhǔn)。因此,Wishbone 總線從技術(shù)上講簡(jiǎn)單、靈活、功能強(qiáng)大及易于移植,從經(jīng)濟(jì)角度考慮又全部免費(fèi),易于全面推廣。我們認(rèn)為它極有可能成為未來(lái)SoC片上總線的通用標(biāo)準(zhǔn),其前景看好。
Lattice在MachXO3等系列的產(chǎn)品中采用基于Wishbone總線的IP核設(shè)計(jì),包括軟核和一些硬核(Harden I2C、SPI、Timer/Counter)。學(xué)習(xí)Wishbone的基本原理,對(duì)我們?cè)谑褂煤驮O(shè)計(jì)IP時(shí)都是很有幫助的。Wishbone作為一個(gè)輕量級(jí)片上總線,比AMBA等總線簡(jiǎn)單的多,很適合片上總線的入門(mén)者學(xué)習(xí)。