首頁|必讀|視頻|專訪|運營|制造|監(jiān)管|大數(shù)據(jù)|物聯(lián)網(wǎng)|量子|元宇宙|博客|特約記者
手機(jī)|互聯(lián)網(wǎng)|IT|5G|光通信|人工智能|云計算|芯片報告|智慧城市|移動互聯(lián)網(wǎng)|會展
首頁 >> 論壇 >> 正文

CPU、MCU、FPGA、SoC這些芯片究竟是啥?漲盡姿勢

2018年2月7日 08:24  IT之家  

目前世界上有兩種文明,一種是人類社會組成的的碳基文明,一種是各種芯片組成的硅基文明——因為幾乎所有的芯片都是以單晶硅為原料制作的,芯片系統(tǒng)的總數(shù)比人類的數(shù)量還多出數(shù)十上百倍。芯片大家族里面也分各種不同類型的芯片,從古老的用電子管堆出來的成噸的邏輯門到現(xiàn)在的超級數(shù)據(jù)中心,電子技術(shù)的發(fā)展走過了一代又一代,到了今天,各種芯片更是百花齊放,芯片廠商百家爭鳴。

可是,這么多芯片,按照功能分類,有專門用于計算的、有專門用于控制的、有專門用于存儲的……按照集成電路規(guī)模分,有超大規(guī)模,大規(guī)模,和古老的中規(guī)模、小規(guī)模。而具體到了類型,又有CPU,SoC,DSP……有這么多的芯片,真的區(qū)分清除也是要花上一番功夫的,這篇文章就可以帶領(lǐng)大家了解一些基礎(chǔ)的、用來處理數(shù)據(jù)的集成電路芯片。

在這些專門用于處理數(shù)據(jù)的芯片中,最常用的就是由微處理器構(gòu)成的微處理器系統(tǒng),小到一塊單片機(jī),大到數(shù)據(jù)中心的幾十路幾十核地表最強(qiáng)處理器,都是由簡單的微處理器系統(tǒng)發(fā)展而來,微處理器是應(yīng)用最廣泛的芯片。首先了解微處理器及微處理器系統(tǒng),對接下來了解各種芯片及控制系統(tǒng)的很有幫助。

微處理器系統(tǒng)

微處理器系統(tǒng),囊括了各種類型的計算機(jī),微控制器/單片機(jī)。世界上的微處理器系統(tǒng)的總數(shù)比人類總數(shù)還多得多。它的基本工作原理是用程序控制系統(tǒng)的行為。

微處理器系統(tǒng)的基本操作過程是中央處理器(Central Processing Unit, CPU)不斷地從存儲器取指并執(zhí)行,實現(xiàn)對系統(tǒng)的全面管理。

一、CPU結(jié)構(gòu)和功能CPU的結(jié)構(gòu):

▲圖:CPU的結(jié)構(gòu)

▲圖:CPU的結(jié)構(gòu) 1) 控制器:完成指令的讀入、寄存、譯碼和執(zhí)行。

2) 寄存器:暫存用于尋址和計算過程的產(chǎn)生的地址和數(shù)據(jù)。

3) I/O控制邏輯:負(fù)責(zé)CPU中與輸入/輸出操作有關(guān)的邏輯。

4) 算數(shù)邏輯運算單元(Arithmetic & Logic Unit, ALU):運算器核心,負(fù)責(zé)進(jìn)行算術(shù)運算、邏輯運算和移位操作,用來進(jìn)行數(shù)值計算和產(chǎn)生存儲器訪問地址。

CPU的功能:

1) 與存儲器之間交換信息。

2) 和I/O設(shè)備之間交換信息。

3) 為了使系統(tǒng)正常工作而接收和輸出必要的信號,如復(fù)位信號、電源、輸入時鐘脈沖等。

二、微處理器系統(tǒng)的結(jié)構(gòu)

▲圖:微處理器系統(tǒng)的結(jié)構(gòu)

▲圖:微處理器系統(tǒng)的結(jié)構(gòu) 1) CPU的外部特征就是數(shù)量有限的輸入輸出引腳。

2) 數(shù)據(jù)總線:用于CPU和存儲器或I/O接口之間傳送數(shù)據(jù),雙向通信;數(shù)據(jù)總線的條數(shù)決定了CPU和存儲器或I/O設(shè)備一次最多能交換數(shù)據(jù)的位數(shù),是微處理器的位數(shù)的判據(jù),例如:Intel 386DX、ARM Cortex-M3是32位微處理器;Intel采用了IA-64架構(gòu)的處理器、PowerPC 970是64位處理器;類似地,還有更加古老的8位、16位處理器等。

3) 地址總線:CPU通過地址總線輸出地址碼用以選擇某一存儲單元或某一成為I/O端口的寄存器,單向通信;地址總線的條數(shù)決定了地址碼的位數(shù),進(jìn)而決定了存儲空間的大小,例如:地址總線寬度(條數(shù))為8,則可以標(biāo)記2^8 = 256個存儲單元,若每個存儲單元的字長為8 bit,則最大可以接入系統(tǒng)的存儲空間為256kB。

4) 控制總線:用來傳送自CPU發(fā)出的控制信息或外設(shè)送到CPU的狀態(tài)信息,雙向通信;

微處理器系統(tǒng)的程序設(shè)計語言:程序設(shè)計語言(Programming Language),又稱為編程語言,是用來定義計算機(jī)程序的,通過代碼向處理機(jī)發(fā)出指令。編程語言讓開發(fā)者能夠準(zhǔn)確地提供計算機(jī)所使用的數(shù)據(jù),并精確地控制在不同情況下所應(yīng)當(dāng)采取的行動。最早的編程語言是在計算機(jī)發(fā)明之后產(chǎn)生的,當(dāng)時是用來控制提花織布機(jī)及自動演奏鋼琴的動作。在電腦領(lǐng)域已發(fā)明了上千不同的編程語言,而且每年仍有新的編程語言誕生。很多編程語言需要用指令方式說明計算的程序,而有些編程語言則屬于聲明式編程,說明需要的結(jié)果,而不說明如何計算。

機(jī)器語言:機(jī)器語言的每條語句即是處理器可以直接執(zhí)行的一條指令,這些指令是以二進(jìn)制0、1序列的形式表示,對應(yīng)數(shù)字集成電路的高低電平。不同的處理器指令的機(jī)器代碼各不相同,完成的具體功能也將不相同,按著一種計算機(jī)的機(jī)器指令編寫的程序,不能在另一種計算機(jī)上執(zhí)行。

示例:(僅作為示例,不代表真實硬件的機(jī)器代碼)

指令的機(jī)器代碼:

0000’0000 STORE

0000’0001 LOAD

地址的機(jī)器代碼:

0000’0000  寄存器R0

0000’0001  寄存器R1

優(yōu)點:功能和代碼一一對應(yīng),CPU可以直接執(zhí)行,效率最高。

缺點:只有二進(jìn)制0、1序列,枯燥,難以辨識。

匯編語言:用簡潔的英文字母、符號串來替代一個特定的機(jī)器語言指令——二進(jìn)制0、1序列:用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標(biāo)號(Label)代替地址碼。匯編語言與機(jī)器語言一一對應(yīng),所以和機(jī)器語言一樣對計算機(jī)硬件的依賴性很大。

示例:加法運算(分號表示接注釋)

MOV  R1,? R3;

將寄存器R3的值賦予R1

LDR  R2, [R4]

;將寄存器R4的值代表的地址對應(yīng)的存儲空間的值賦予R2

ADCS R0,  R1, R2

;將寄存器R1、R2與之前的進(jìn)位值相加且進(jìn)位,存儲到寄存器R0

優(yōu)點:匯編語句和機(jī)器語言一一對應(yīng),助記符與標(biāo)號往往與實際意義相關(guān),相比于機(jī)器語言,更加直觀,容易理解,執(zhí)行效率上類似。

缺點:不同的處理器指令集不同,移植性不好;即使完成簡單的數(shù)據(jù)處理(如累加,簡單排序等)所需的代碼體積很大,處理實際問題所需的工作量夸張,成本高。

高級語言:使用接近于數(shù)學(xué)語言或人類語言的表達(dá)描述程序。

特點:相比于面向機(jī)器開發(fā)的機(jī)器語言和匯編語言,高級語言擁有較高的可讀性,并且代碼量大大減少;高級語言通常遠(yuǎn)離對硬件的直接操作,安全性較高,也有部分高級語言可以使用調(diào)用匯編語言的接口操控硬件;高級語言有很多成熟、易于使用、可移植的數(shù)據(jù)結(jié)構(gòu)與算法,使開發(fā)流程大大簡化,節(jié)省開發(fā)成本,易于維護(hù);發(fā)展迅速,社區(qū)完備,可以很方便地求助,解決遇到的各種問題;已經(jīng)有很多各具特色、用以解決不同領(lǐng)域問題且發(fā)展相當(dāng)完備的高級語言供開發(fā)者選用,如:適合初學(xué)者了解編程思想的Basic;效率頗高,接近于硬件操控,適合系統(tǒng)、硬件驅(qū)動編程與嵌入式開發(fā)的C/C++;跨平臺、可移植特性優(yōu)良的Java;搭配Visual Studio可以快速開發(fā)項目的C#。NET;適合于數(shù)據(jù)分析、人工智能,越來越被青睞的Python;Microsoft公司為未來的量子計算而開發(fā)的Q#,等等。諸如MATLAB、HTML、JavaScript這樣的用以在不同領(lǐng)域大顯身手的語言亦可以稱之為高級語言。

示例:加法運算

int a = 1, b = 2, c;

c = a + b;

優(yōu)點:不依賴于硬件,移植性好;不用場合選用適合的語言,開發(fā)效率高。

缺點:不直接使用硬件,需要編譯-鏈接執(zhí)行或解釋執(zhí)行,沒有利用到具體硬件的特點,效率相比于機(jī)器語言和匯編語言不高;先天的特點決定了高級語言在底層的設(shè)計中無法完全取代機(jī)器語言和匯編語言。

可以看出,微處理器系統(tǒng)的核心部件是CPU,使用微處理器系統(tǒng)控制外部的設(shè)備工作的實質(zhì)就是使用編寫軟件程序的手段來控制外部設(shè)備。由于CPU已經(jīng)是一個完整的、封裝好的部件,系統(tǒng)的設(shè)計人員只能通過編寫軟件,再經(jīng)由編譯器或解釋器翻譯為機(jī)器能夠理解的代碼來執(zhí)行,CPU并沒有專門的硬件電路來實現(xiàn)完全地控制外部設(shè)備的運行,這種實現(xiàn)方式是軟件實現(xiàn),是一種通用的實現(xiàn),控制信號從軟件到硬件要經(jīng)過若干次轉(zhuǎn)化,但有的時候,工程和設(shè)計領(lǐng)域往往需要高速高性能的芯片來實現(xiàn)控制與計算,這時候就需要更加強(qiáng)大的CPU或?qū)讉CPU用一些技術(shù)并行起來協(xié)同工作,成本就會增加。這時候,可以不妨試試設(shè)計專門的硬件來滿足工作的需求。

三、專用集成電路

專用的集成電路(Application Specific Integrated Circuit, ASIC)是一種為專門目的而設(shè)計的集成電路。是指應(yīng)特定用戶要求和特定電子系統(tǒng)的需要而設(shè)計、制造的集成電路。ASIC的特點是面向特定用戶的需求,ASIC在批量生產(chǎn)時與通用集成電路相比具有體積更小、功耗更低、可靠性提高、性能提高、保密性增強(qiáng)、成本降低等優(yōu)點。

ASIC分為全定制和半定制。全定制設(shè)計需要設(shè)計者完成所有電路的設(shè)計,包括芯片設(shè)計的所有流程,因此需要大量人力物力,靈活性好但開發(fā)效率低下。如果設(shè)計較為理想,全定制能夠比半定制的ASIC芯片運行速度更快。半定制ASIC使用準(zhǔn)邏輯單元(Standard Cell),設(shè)計時可以從標(biāo)準(zhǔn)邏輯單元庫中選擇SSI(小規(guī)模集成電路,如門電路)、MSI(中規(guī)模集成電路,如加法器、比較器等)、數(shù)據(jù)通路(如ALU、存儲器、總線等)、存儲器甚至系統(tǒng)級模塊(如乘法器、微控制器等)和IP核,這些邏輯單元已經(jīng)布局完畢,而且設(shè)計得較為可靠,設(shè)計者可以較方便地完成系統(tǒng)設(shè)計。

當(dāng)今ASIC的設(shè)計方向已經(jīng)越來越多地使用可編程邏輯器件來構(gòu)造,開發(fā)門檻和難度不斷降低,流程不斷簡化,成本不斷下降,業(yè)務(wù)也開始變得豐富且多元化。目前ASIC已經(jīng)走向了深度學(xué)習(xí)、人工智能、第五代移動通信技術(shù)(5G)等高新技術(shù)領(lǐng)域,在可編程邏輯器件兩大巨頭Xilinx和Altera的推動下,可以預(yù)見未來的ASIC設(shè)計將是可編程邏輯器件(尤其是現(xiàn)場可編程門陣列,F(xiàn)PGA)的天下。

四、可編程邏輯器件

可編程邏輯器件(Programmable Logic Device, PLD)是一種通用集成電路,它是ASIC的一個子集,邏輯功能可以按照用戶對器件編程來確定。一般的PLD的集成度很高,足以滿足設(shè)計一般的數(shù)字系統(tǒng)的需要。這樣就可以由設(shè)計人員自行編程而把一個數(shù)字系統(tǒng)“集成”在一片PLD上,而不必去請芯片制造廠商設(shè)計和制作ASIC芯片了,因為如果芯片需求量不大,設(shè)計制造ASIC的單片成本是很高的。

PLD與一般數(shù)字芯片不同的是:PLD內(nèi)部的數(shù)字電路可以在出廠后才規(guī)劃決定,甚至可以無限制改變,而一般數(shù)字芯片在出廠前就已經(jīng)決定其內(nèi)部電路,無法在出廠后再次改變,事實上一般的模擬芯片、通信芯片、微控制器也都一樣,出廠后就無法再對其內(nèi)部電路進(jìn)行更改。最近鬧得沸沸揚揚的Intel公司的芯片漏洞事件,就是因為CPU的內(nèi)部電路已經(jīng)無法更改,所以只能設(shè)計新的CPU芯片來解決,或是損失一些性能用軟件修補(bǔ)的方法來彌補(bǔ)。

五、可編程邏輯器件的發(fā)展歷程

最早的可編程邏輯器件(PLD)是1970年制成的可編程只讀存儲器(PROM),它由固定的與陣列和可編程的或陣列組成。PROM采用熔絲技術(shù),只能寫一次,不能擦除和重寫。隨著技術(shù)的發(fā)展,此后又出現(xiàn)了紫外線可擦除只讀存儲器(UVEPROM)和電可擦除只讀存儲器(EEPROM)。由于其價格便宜、速度低、易于編程,適合于存儲函數(shù)和數(shù)據(jù)表格。

可編程邏輯陣列(PLA)于20世紀(jì)70年代中期出現(xiàn),它是由可編程的與陣列和可編程的或陣列組成,但由于器件的價格比較貴、編程復(fù)雜、資源利用率低,因而沒有得到廣泛應(yīng)用。

可編程陣列邏輯(PAL)是1977年美國MMI公司率先推出的,它采用熔絲編程方式,由可編程的與陣列和固定的或陣列組成,采用雙極性工藝制造,器件的工作速度很高。由于它的設(shè)計很靈活,輸出結(jié)構(gòu)種類很多,因而成為第一個得到普遍應(yīng)用的可編程邏輯器件

通用陣列邏輯(GAL)是1985年Lattice公司最先發(fā)明的可電擦寫、可重復(fù)編程、可設(shè)置加密位的PLD。GAL在PAL的基礎(chǔ)上,采用了輸出邏輯宏單元形式(EECMOS)工藝結(jié)構(gòu)。在實際應(yīng)用中,GAL對PAL仿真具有百分之百的兼容性,所以GAL幾乎完全代替了PAL,并可以取代大部分標(biāo)準(zhǔn)SSI、MSI集成芯片,因而獲得廣泛應(yīng)用。

可擦除可編程邏輯器件(EPLD)是20世紀(jì)80年代中期Altera公司推出的基于UVEPROM和CMOS技術(shù)的PLD,后來發(fā)展到采用EECMOS工藝制作的PLD,EPLD的基本邏輯單元是宏單元,宏單元是由可編程的與陣列、可編程寄存器和可編程I/O三部分組成的。從某種意義上講,EPLD是改進(jìn)的GAL,它在GAL基礎(chǔ)上大量增加輸出宏單元的數(shù)目,提供更大的與陣列,集成密度大幅提高,內(nèi)部連線相對固定,延時小,有利于器件在高頻下工作,但內(nèi)部互連能力較弱。

復(fù)雜可編程邏輯器件(CPLD)是20世紀(jì)80年代末Lattice公司提出了在線可編程技術(shù)(SP)以后于20世紀(jì)90年代初推出的。CPLD至少包含三種結(jié)構(gòu):可編程邏輯宏單元可編程I/O單元和可編程內(nèi)部連線,它是在EPLD的基礎(chǔ)上發(fā)展起來的,采用EECMOS工藝制作,與EPLD相比,增加了內(nèi)部連線,對邏輯宏單元和I/O單元也有很大改進(jìn)。

現(xiàn)場可編程門陣列(FPGA)器件是Xilinx公司1985年首家推出的,它是一種新型的高密度PLD,采用CMOS-SRAM工藝制作。FPGA的結(jié)構(gòu)與門陣列PLD不同,其內(nèi)部由許多獨立的可編程邏輯模塊(CLB)組成,邏輯塊之間可以靈活地相互連接,CLB的功能很強(qiáng),不僅能夠?qū)崿F(xiàn)邏輯函數(shù),還可以配置成RAM等復(fù)雜的形式。配置數(shù)據(jù)存放在芯片內(nèi)的SRAM中,設(shè)計人員可現(xiàn)場修改器件的邏輯功能,即所謂的現(xiàn)場可編程。FPGA出現(xiàn)后受到電子設(shè)計工程師的普遍歡迎,發(fā)展十分迅速。

FPGA和CPLD都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬的特點。這兩種器件兼容了簡單PLD和通用門陣列的優(yōu)點,可實現(xiàn)較大規(guī)模的電路,編程也很靈活,與ASIC相比,具有設(shè)計開發(fā)周期短、設(shè)計制造成本低,開發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無須測試、質(zhì)量穩(wěn)定等優(yōu)點,用戶可以反復(fù)地編程、擦除、使用,或者在外圍電路不動的情況下用不同軟件就可實現(xiàn)不同的功能以及可實時在線檢驗。

CPLD是一種比PLD復(fù)雜的邏輯元件。CPLD是一種用戶可根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。與FPGA相比,CPLD提供的邏輯資源相對較少,但是經(jīng)典CPLD構(gòu)架提供了非常好的組合邏輯實現(xiàn)能力和片內(nèi)信號延時可預(yù)測性,因此對于關(guān)鍵的控制應(yīng)用比較理想。

FPGA是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為ASIC領(lǐng)域中的一種半定制電路而出現(xiàn)的,提供了豐富的可編程邏輯資源、易用的存儲、運算功能模塊和良好的性能,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。

FPGA和CPLD因為結(jié)構(gòu)上的區(qū)別,各具自身特色。因為FPGA的內(nèi)部構(gòu)造觸發(fā)器比例和數(shù)量多,所以它在時序邏輯設(shè)計方面更有優(yōu)勢:而CPLD因具有與或門陣列資源豐富、程序掉電不易失等特點,適用于組合邏輯為主的簡單電路?傮w來說,由于FPGA資源豐富功能強(qiáng)大,在產(chǎn)品研發(fā)方面的應(yīng)用突出,當(dāng)前新推出的可編程邏輯器件芯片主要以FPGA類為主,隨著半導(dǎo)體工藝的進(jìn)步,其功率損耗越來越小,集成度越來越高。

在微處理器系統(tǒng)上,軟件設(shè)計師用程序設(shè)計語言控制整個系統(tǒng)的正常運轉(zhuǎn),而在可編程器件領(lǐng)域,操作的對象不再是一組組數(shù)據(jù)類型,而是一些硬件器件,如存儲器,計數(shù)器等,甚至是一些更加底層的觸發(fā)器、邏輯門,有的甚至要精確到集成晶體管開關(guān)級的控制。并且很多器件不再是順序的阻塞式工作,而是并行的觸發(fā)工作,經(jīng)典的程序流程控制思想在可編程器件領(lǐng)域不適用。設(shè)計人員需要使用一種能夠構(gòu)造硬件電路的語言,即硬件描述語言。

六、硬件描述語言

硬件描述語言(Hardware Description Language, HDL)是一種用形式化方法描述邏輯電路和系統(tǒng)的語言。利用這種語言,邏輯電路系統(tǒng)的設(shè)計可以從上層到下層(從抽象到具體)逐層描述自己的設(shè)計思想,用一系列分層次的模塊來表示極其復(fù)雜的邏輯系統(tǒng)。然后,利用電子設(shè)計自動化(EDA)工具,逐層進(jìn)行仿真驗證,再把其中需要變?yōu)閷嶋H電路的模塊組合,經(jīng)過自動綜合工具轉(zhuǎn)換到門級電路網(wǎng)表。接下來,再用專用集成電路(ASIC)或現(xiàn)場可編程門陣列(FPGA)自動布局布線工具,把網(wǎng)表轉(zhuǎn)換為要實現(xiàn)的具體電路布線結(jié)構(gòu)。據(jù)統(tǒng)計,目前在美國的硅谷約有90%以上的ASIC和PLD采用硬件描述語言進(jìn)行設(shè)計。

硬件描述語言HDL的發(fā)展至今已有30多年的歷史,其成功地應(yīng)用于設(shè)計的各個階段:建模、仿真、驗證和綜合等。到20世紀(jì)80年代,已出現(xiàn)了上百種硬件描述語言,對設(shè)計自動化曾起到了極大的促進(jìn)和推動作用。但是,這些語言一般各自面向特定的設(shè)計領(lǐng)域和層次,而且眾多的語言使用戶無所適從。因此,需要一種面向設(shè)計的多領(lǐng)域、多層次并得到普遍認(rèn)同的標(biāo)準(zhǔn)硬件描述語言。20世紀(jì)80年代后期至90年代,VHDL和Verilog HDL語言適應(yīng)了這種趨勢的要求,先后成為電氣和電子工程師協(xié)會(Institute of Electrical & Electronics Engineers, IEEE)標(biāo)準(zhǔn)。

現(xiàn)在,隨著超大規(guī)模FPGA以及包含SoC內(nèi)核FPGA芯片的出現(xiàn),軟硬件協(xié)調(diào)設(shè)計和系統(tǒng)設(shè)計變得越來越重要。傳統(tǒng)意義上的硬件設(shè)計越來越傾向于與系統(tǒng)設(shè)計和軟件設(shè)計結(jié)合。硬件描述語言為適應(yīng)新的情況,迅速發(fā)展,出現(xiàn)了很多新的硬件描述語言,像System Verilog,SystemC、Cynlib C++等;另一方面,PLD設(shè)計工具在原先僅支持硬件描述語言設(shè)計輸入的基礎(chǔ)上,日益增加對傳統(tǒng)高級設(shè)計語言(如C/C++)的設(shè)計支持。

目前,硬件描述語言可謂是百花齊放,有VHDL、Verilog HDL、Superlog、SystemC、System Verilog、Cynlib C++、C Level等。整體而言,在PLD開發(fā)領(lǐng)域應(yīng)用最廣的還是VHDL和Verilog HDL。隨著邏輯系統(tǒng)開發(fā)規(guī)模的不斷增大,SystemC和System Verilog等系統(tǒng)級硬件描述語言也得到越來越多的應(yīng)用。

VHDL

早在1980年,因為美國軍事工業(yè)需要描述電子系統(tǒng)的方法,美國國防部開始進(jìn)行VHDL的開發(fā)。1987年,IEEE將VHDL制定為標(biāo)準(zhǔn)。參考手冊為IEEE VHDL語言參考手冊標(biāo)準(zhǔn)草案1076/B版,于1987年批準(zhǔn),稱為IEEE 1076-1987。然而,起初VHDL只是作為系統(tǒng)規(guī)范的一個標(biāo)準(zhǔn),而不是為設(shè)計而制定的。第二個版本是在1993年制定的,稱為VHDL-93,增加了一些新的命令和屬性。

雖然有“VHDL是一個4億美元的錯誤”這樣的說法,但VHDL畢竟是1995年以前唯一制定為標(biāo)準(zhǔn)的硬件描述語言,這是它不爭的事實和優(yōu)勢;但同時它的使用確實比較麻煩,而且其綜合庫至今也沒有標(biāo)準(zhǔn)化,不具有晶體管開關(guān)級模擬設(shè)計的描述能力。目前來說,對于特大型的系統(tǒng)級邏輯電路設(shè)計,VHDL是較為合適的。

實質(zhì)上,在底層的VHDL設(shè)計環(huán)境是由Verilog HDL描述的器件庫支持的,因此,它們之間的互操作性十分重要。目前,Verilog和VHDL的兩個國際組織OVI(Open Verilog International)、VI正在籌劃這一工作,準(zhǔn)備成立專門的工作組來協(xié)調(diào)VHDL和Verilog HDL語言的互操作性。OVI也支持不需要翻譯,由VHDL到Verilog的自由表達(dá)。

Verilog HDL

Verilog HDL是在1983年,由GDA(Gateway Design AUTOMATION)公司的Phil Moorby首創(chuàng)的。Phil Moorby后來成為Verilog-XL的主要設(shè)計者和Cadence公司的第一合伙人。在1984-1985年,Phil Moorby設(shè)計出了第一個名為Verilog-XL的仿真器;1986年,他對Verilog HDL的發(fā)展又作出了另一個巨大的貢獻(xiàn):提出了用于快速門級仿真的XL算法。

隨著Verilog-XL算法的成功,Verilog HDL語言得到迅速發(fā)展。1989年,Cadence公司收購了GDA公司,Verilog HDL語言成為Cadence公司的私有財產(chǎn)。1990年,Cadence公司決定公開Verilog HDL語言,于是成立了OVI組織,負(fù)責(zé)促進(jìn)Verilog HDL語言的發(fā)展;赩erilog HDL的優(yōu)越性,IEEE于1995年制定了Verilog HDL的IEEE標(biāo)準(zhǔn),即Verilog HDL 1364-1995;2001年發(fā)布了Verilog HDL 1364—2001標(biāo)準(zhǔn),在這個標(biāo)準(zhǔn)中,加入了Verilog HDL - A標(biāo)準(zhǔn),使Verilog HDL有了模擬設(shè)計描述的能力

SystemC

隨著半導(dǎo)體技術(shù)的迅猛發(fā)展,SoC已經(jīng)成為當(dāng)今集成電路設(shè)計的發(fā)展方向,智能手機(jī),平板電腦里的處理器,嚴(yán)格地來說實際上是SoC,因為其上集成了CPU、圖形處理單元(Graphic Processing Unit, GPU)、數(shù)字信號處理器(Digital Signal Processor)、基帶(Baseband)信號處理器等。在系統(tǒng)芯片的各個設(shè)計(像系統(tǒng)定義、軟硬件劃分、設(shè)計實現(xiàn)等)中,集成電路設(shè)計界一直在考慮如何滿足SoC的設(shè)計要求,一直在尋找一種能同時實現(xiàn)較高層次的軟件和硬件描述的系統(tǒng)級設(shè)計語言

SystemC正是在這種情況下,由Synopsys公司和Coware公司積極響應(yīng)目前各方對系統(tǒng)級設(shè)計語言的需求而合作開發(fā)的。1999年9月27日,40多家世界著名的EDA公司、IP公司、半導(dǎo)體公司和嵌入式軟件公司宣布成立“開放式SystemC聯(lián)盟”。著名公司Cadence也于2001年加入了SystemC聯(lián)盟。SystemC從1999年9月聯(lián)盟建立初期的0.9版本開始更新,從1.0版到1.1版,一直到2001年10月推出了最新的2.0版。

七、常見的數(shù)據(jù)處理芯片

既然已經(jīng)梳理了兩大類(微處理器,專用集成電路)芯片的概念和原理,接下來就了解一下常見的芯片

MCU

日常生活中最常見得到的微處理器系統(tǒng)就是我們身邊的微型計算機(jī),也就是個人電腦(Personal Computer, PC),可以使臺式機(jī)、筆記本,或是PC界的新秀——各種炫酷的二合一設(shè)備。這些看起來復(fù)雜無比的電子系統(tǒng)都是由最簡單的微處理器系統(tǒng)發(fā)展起來的。但是生活中并不需要那么多的電腦,比如想要做一臺能夠自動控制加熱保溫的電飯煲,其CPU性能可能只需要電腦這樣的大家伙的九牛一毛即可,也不需要復(fù)雜的輸入輸出設(shè)備,在設(shè)計上大可以大刀闊斧地將用不到的部分砍掉,靈活地將CPU、時鐘發(fā)生器(Clock)、隨機(jī)存儲器(Random Access Memory, RAM)、只讀存儲器(Read-Only Memory, ROM)和需要的外部設(shè)備集成起來小型化,這種經(jīng)過大改觀的微處理器系統(tǒng),其所有部分都集成在了一塊芯片上,稱為微控制器或單片機(jī)(Micro Controller Unit, MCU)。目前MCU是應(yīng)用最廣泛的一種電子控制芯片,其控制程序可以由特殊的燒錄工具下載到ROM中,行使系統(tǒng)的功能。這些ROM可以使以是PROM、UVEPROM、EEPROM等,若MCU上沒有集成ROM,也可以外接ROM。按照系統(tǒng)結(jié)構(gòu),微處理器系統(tǒng)可以分為馮·諾依曼結(jié)構(gòu)(也稱普雷斯頓結(jié)構(gòu))和哈佛結(jié)構(gòu),其區(qū)別是程序與數(shù)據(jù)的存放方式不同,同樣地,MCU芯片也可以分為這兩種結(jié)構(gòu),靈活地滿足需要。

MPU

微處理器單元(Micro Processor Unit, MPU),就是把很多CPU集成在一起并行處理數(shù)據(jù)的芯片。通俗來說,MCU集成了RAM,ROM等設(shè)備;MPU則不集成這些設(shè)備,是高度集成的通用結(jié)構(gòu)的中央處理器矩陣,也可以認(rèn)為是去除了集成外設(shè)的MCU。

PLD(CPLD/FPGA)

因為目前廣泛使用的PLD是CPLD和FPGA,因此把這兩種芯片作為例子介紹。前面已經(jīng)介紹過,CPLD/FPGA的內(nèi)部結(jié)構(gòu)和CPU完全不同,內(nèi)部電路可以被多次修改,可以按照用戶的編程形成不同的組合邏輯電路、時序邏輯電路結(jié)構(gòu),是一種“萬能”的芯片,CPLD/FPGA看起來像一個CPU,其實不然,因為使用CPLD/FPGA實現(xiàn)控制是純硬件實現(xiàn),實質(zhì)上和使用成千上萬基本邏輯門搭建的數(shù)字邏輯電路沒有區(qū)別。因此可以直接用HDL編程在CPLD/FPGA里搭建出一個“CPU”(有時還有硬盒和軟核之分,限于篇幅,不再贅述),再做好相應(yīng)的I/O、總線,就是一個簡單的微處理器系統(tǒng)了。但是這樣一來,又變成了軟件控制,PLD的硬件控制優(yōu)勢蕩然無存。故CPLD/FPGA經(jīng)常和實際的CPU搭配使用,在CPLD/FPGA上編寫一些較復(fù)雜算法的運算電路,當(dāng)CPU處理到這些復(fù)雜任務(wù)時,就交由CPLD/FPGA進(jìn)行處理,處理結(jié)束以后再將結(jié)果返回給CPU,提高控制系統(tǒng)的整體性能。

ADC、DAC

ADC、DAC 自然界的物理量分為模擬(Analog)量和數(shù)字(Digital)量兩種。模擬量在一定范圍內(nèi)的取值是連續(xù)的,個數(shù)是無窮的;數(shù)字量在一定范圍內(nèi)的取值是離散的,個數(shù)是有限的。計算機(jī)只能處理離散的數(shù)字量,所以模擬信號必須經(jīng)過變換才能交由計算機(jī)處理。將自然界的物理量轉(zhuǎn)化為連續(xù)變化的電流或電壓(故稱“模擬”),在滿足奈奎斯特采樣定理(Nyquist Sampling Theory,也稱香農(nóng)采樣定理,Shannon Sampling Theory)的條件下采樣,得到時域離散信號,再經(jīng)量化器(可以是線性量化和非線性量化)量化后數(shù)字信號,最后經(jīng)過一道編碼得到二進(jìn)制的0、1數(shù)字信息,才能交由計算機(jī)處理。以上的這一道變換稱為模數(shù)轉(zhuǎn)換(A/D),可以將這部分電路集成到一塊芯片上,這就是模數(shù)轉(zhuǎn)換電路(Analog Digital Circuit, ADC),相應(yīng)的也有數(shù)模轉(zhuǎn)換(D/A)和數(shù)模轉(zhuǎn)換電路(Digital Analog Circuit, DAC)芯片,進(jìn)行D/A的時候同樣要在數(shù)學(xué)和信息論上滿足相關(guān)定理。

DSP

數(shù)字信號處理器(Digital Signal Processor, DSP)是用來高速處理數(shù)字信號的專用芯片。

經(jīng)過ADC轉(zhuǎn)化好的數(shù)字信號,數(shù)據(jù)量往往很龐大,直接交由CPU處理的效率是不高的,并且CPU還要進(jìn)行更多的通用計算的任務(wù)。因此,常常采用專用的電路來處理數(shù)字信號,如數(shù)字濾波、快速傅里葉變換、時頻分析、語音信號和圖像信號的處理加工等。這些運算往往很復(fù)雜,很多涉及復(fù)數(shù)的累加、累乘運算,舉個例子:離散傅里葉變換的計算就十分復(fù)雜,但是運用時域抽取或頻域抽取的快速傅里葉變換算法后就可以大大減少運算量,但是電路較為復(fù)雜。將能完成這些復(fù)雜運算的電路集成在一塊芯片上,能在一個時鐘周期完成一次乘加運算,使其能完成如基2-FFT蝶形運算、音頻濾波、圖像處理等復(fù)雜運算,這樣的芯片叫做DSP。DSP也是一種特殊的CPU,特別適合信號的處理,如3G中的Node B就大量使用了DSP進(jìn)行信號處理。DSP對于流媒體的處理能力遠(yuǎn)遠(yuǎn)的優(yōu)于CPU,現(xiàn)在手機(jī)上的語音信號都是由DSP處理的,F(xiàn)階段DSP的概念正在變得模糊,如ARM9的架構(gòu)就不像是一顆CPU,更像是一顆DSP。現(xiàn)在有很多芯片,其上都集成了DSP,GPU,基帶處理器等,越來越多的傳統(tǒng)上分立的芯片被集成到一起,協(xié)同工作以提高效率,降低能耗,這也是未來的一個趨勢。

SoC

隨著半導(dǎo)體技術(shù)、移動互聯(lián)網(wǎng)和智能終端的迅猛發(fā)展,傳統(tǒng)的微處理器系統(tǒng)的發(fā)展已經(jīng)跟不上時代的潮流,現(xiàn)代信息技術(shù)迫切地需要一種功能多,性能強(qiáng),功耗低的芯片來滿足越來越多的智能設(shè)備的需求。SoC便應(yīng)運而生。

SoC的全稱是System on a Chip,顧名思義,就是在一塊芯片上集成一整個信息處理系統(tǒng),稱為片上系統(tǒng)或系統(tǒng)級芯片。這個定義現(xiàn)在也不盡明確,因為不同用途的SoC上集成的部件是不一樣的,一般說來,SoC是一個完整的整體,已經(jīng)擁有了整個數(shù)字系統(tǒng)的完整功能它也是一種ASIC,其中包含完整的控制系統(tǒng)并有嵌入式的軟件。

SoC也代表著一種技術(shù),是一種以確定系統(tǒng)功能為目標(biāo),各個模塊的軟硬件協(xié)同開發(fā),最后把開發(fā)成果集成為一塊芯片的技術(shù)。由于功能豐富,又要求有不俗的性能發(fā)揮,SoC已然是功能最為豐富的硬件,其上集成了CPU、GPU、RAM、ADC/DAC、Modem、高速DSP等各種芯片,有的SoC上還必須集成電源管理模塊,各種外部設(shè)備的控制模塊,充分考慮各總線的分布利用……現(xiàn)如今,智能手機(jī)里的SoC上就集成了以上的部件和基帶處理器等很多相關(guān)的通信模塊。

SoC的電路相比于傳統(tǒng)的微處理器系統(tǒng)更加復(fù)雜,其對設(shè)計和制造工藝的要求自然更上一層樓,對軟硬件協(xié)同開發(fā)的依賴性相當(dāng)高。迄今為止,在半導(dǎo)體行業(yè)首屈一指的企業(yè)才有自主設(shè)計制造SoC的能力,目前在性能和功耗敏感的終端芯片領(lǐng)域,SoC已占據(jù)主導(dǎo)地位,人們每天使用的手機(jī)里面,就有一顆顆性能強(qiáng)勁,永遠(yuǎn)在線的SoC在為我們服務(wù)。就連傳統(tǒng)的軟件大廠微軟也推出了基于高通公司的驍龍835平臺的Windows操作系統(tǒng);而且SoC的應(yīng)用正在擴(kuò)展到更廣的領(lǐng)域,SoC在無人機(jī)技術(shù)、自動駕駛,深度學(xué)習(xí)等行業(yè)也有越來越多的應(yīng)用,用一塊單芯片就能實現(xiàn)完整的電子系統(tǒng),是半導(dǎo)體行業(yè)、IC產(chǎn)業(yè)未來的發(fā)展方向。

編 輯:章芳
聲明:刊載本文目的在于傳播更多行業(yè)信息,本站只提供參考并不構(gòu)成任何投資及應(yīng)用建議。如網(wǎng)站內(nèi)容涉及作品版權(quán)和其它問題,請在30日內(nèi)與本網(wǎng)聯(lián)系,我們將在第一時間刪除內(nèi)容。本站聯(lián)系電話為86-010-87765777,郵件后綴為#cctime.com,冒充本站員工以任何其他聯(lián)系方式,進(jìn)行的“內(nèi)容核實”、“商務(wù)聯(lián)系”等行為,均不能代表本站。本站擁有對此聲明的最終解釋權(quán)。
相關(guān)新聞              
 
人物
工信部張云明:大部分國家新劃分了中頻段6G頻譜資源
精彩專題
專題丨“汛”速出動 共筑信息保障堤壩
2023MWC上海世界移動通信大會
中國5G商用四周年
2023年中國國際信息通信展覽會
CCTIME推薦
關(guān)于我們 | 廣告報價 | 聯(lián)系我們 | 隱私聲明 | 本站地圖
CCTIME飛象網(wǎng) CopyRight © 2007-2024 By CCTIME.COM
京ICP備08004280號-1  電信與信息服務(wù)業(yè)務(wù)經(jīng)營許可證080234號 京公網(wǎng)安備110105000771號
公司名稱: 北京飛象互動文化傳媒有限公司
未經(jīng)書面許可,禁止轉(zhuǎn)載、摘編、復(fù)制、鏡像