<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > FPGA設計中關(guān)鍵問(wèn)題的研究

FPGA設計中關(guān)鍵問(wèn)題的研究

作者: 時(shí)間:2011-02-28 來(lái)源:網(wǎng)絡(luò ) 收藏

隨著(zhù)(Field Programmable Gate Array)容量、功能以及可靠性的提高,其在現代數字通信系統中的應用日漸廣泛。采用設計數字電路已經(jīng)成為數字電路系統領(lǐng)域的主要設計方式之一。在信號的處理和整個(gè)系統的控制中,不但能大大縮減電路的體積,提高電路的穩定性,而且其先進(jìn)的開(kāi)發(fā)工具使整個(gè)系統的設計調試周期大大縮短。
本文結合作者的經(jīng)驗和體會(huì ),指出FPGA設計中的一些難點(diǎn)問(wèn)題,分析問(wèn)題產(chǎn)生的原因并給出解決方案,有利于FPGA設計者少走彎路,在較短的時(shí)間內掌握FPGA設計技術(shù)。
1 FPGA設計流程
FPGA設計大都采用自頂向下的設計流程,大體上分為設計說(shuō)明書(shū)、設計輸入、綜合、功能仿真(前仿真)、邏輯實(shí)現、時(shí)序仿真(后仿真)、配置下載等七個(gè)步驟。
2 FPGA設計的核心問(wèn)題
2.1 時(shí)鐘設計
在任何數字電路設計中,可靠的時(shí)鐘是非常關(guān)鍵的。時(shí)鐘一般可分為全局時(shí)鐘、門(mén)控時(shí)鐘和多級邏輯時(shí)鐘等幾種類(lèi)型。
[i] 2.1.1全局時(shí)鐘
[/i] 全局時(shí)鐘或同步時(shí)鐘是最簡(jiǎn)單、可靠的時(shí)鐘。
在FPGA設計中時(shí)鐘的最好解決方案是:由專(zhuān)用的全局時(shí)鐘輸入引腳驅動(dòng)的單個(gè)主時(shí)鐘去鐘控設計中的每一個(gè)時(shí)序器件,只要有可能就應盡量在設計項目中采用全局時(shí)鐘。FPGA都具有專(zhuān)門(mén)的全局時(shí)鐘引腳,它直接連到器件中的每一個(gè)寄存器。在器件中,這種全局時(shí)鐘能提供最短的時(shí)鐘延時(shí)(數據輸入到數據到達輸出的時(shí)間)。
[i] 2.1.2 門(mén)控時(shí)鐘]
[/i] 在許多應用中,都采用外部的全局時(shí)鐘是不實(shí)際的,通常要用陣列時(shí)鐘構成門(mén)控時(shí)鐘。門(mén)控時(shí)鐘常常同微處理器接口有關(guān),每當用組合函數鐘控觸發(fā)器時(shí),通常都存在著(zhù)門(mén)控時(shí)鐘。如果符合下述條件,門(mén)控時(shí)鐘可以象全局時(shí)鐘一樣可靠地工作:
(1)驅動(dòng)時(shí)鐘的邏輯必須只包含一個(gè)'與'門(mén)或'或'門(mén);
(2)邏輯門(mén)的一個(gè)輸入是實(shí)際的時(shí)鐘,而該邏輯門(mén)的所有其它輸入必須是地址或控制線(xiàn),它們約束時(shí)鐘的建立和保持時(shí)間。當然也可以將門(mén)控時(shí)鐘轉換成全局時(shí)鐘以改善設計項目的可靠性。
2.1.3 多時(shí)鐘系統
許多應用要求在同一個(gè)FPGA內采用多個(gè)時(shí)鐘,比如兩個(gè)異步微處理器之間的接口或微處理器和異步通信通道的接口。由于兩個(gè)時(shí)鐘信號之間要求一定的建立和保持時(shí)間,所以引進(jìn)了附加的定時(shí)約束條件,將某些異步信號同步化。在許多系統中只將異步信號同步化是不夠的,當系統中有兩個(gè)或兩個(gè)以上非同源時(shí)鐘的時(shí)候,數據的建立和保持時(shí)間很難得到保證,最好的解決辦法是將所有非同源時(shí)鐘同步化。使用FPGA內部的鎖相環(huán)(PLL)模塊是一個(gè)很好的方法。如果不用PLL,當兩個(gè)時(shí)鐘的頻率比是整數時(shí),同步的方法比較簡(jiǎn)單;當兩個(gè)時(shí)鐘的頻率比不為整數時(shí),處理方法要復雜得多。這時(shí)需要使用帶使能端的D觸發(fā)器,并引入一個(gè)高頻時(shí)鐘來(lái)實(shí)現。
[i]2.1.4 時(shí)鐘歪斜
[/i] 時(shí)鐘歪斜是FPGA設計中最嚴重的問(wèn)題之一。電路中控制各元件同步運行的時(shí)鐘源到各元件的距離相差很大,時(shí)鐘歪斜就是在系統內不同元件處檢測到有效的時(shí)鐘跳變沿所需的時(shí)間差異。為了保證各個(gè)元件的建立保持時(shí)間,歪斜必須足夠小。若歪斜的程度大于從一邊緣敏感存儲器的輸出到下一級輸入的延遲時(shí)間,就能使移位寄存器的數據丟失,使同步計數器輸出發(fā)生錯誤,故必須設法消除時(shí)鐘歪斜。減少時(shí)鐘歪斜的方法有以下幾種:
(1)采用適當的時(shí)鐘緩沖器,或者在邊緣敏感器件的輸出與其饋給的任何邊緣敏感器件輸入端之間加入一定的延遲以減小歪斜。
(2)嚴重的時(shí)鐘歪斜往往是由于在FPGA內的時(shí)鐘及其它全局控制線(xiàn)(如復位線(xiàn))使負載過(guò)重造成的,在信號線(xiàn)上接一串線(xiàn)形緩沖器,使驅動(dòng)強度逐步增大,可以消除時(shí)鐘歪斜。
(3)在受時(shí)鐘控制的部件之后分別接入緩沖器,并在兩個(gè)緩沖器輸出端之間接一平衡網(wǎng)絡(luò )。
(4)采用FPGA內的PLL模塊可以對輸入時(shí)鐘進(jìn)行很好的分頻和倍頻,從而使時(shí)鐘歪斜減到最低程度。

2.2毛刺信號及其消除
在組合邏輯電路中,信號要經(jīng)過(guò)一系列的門(mén)電路和信號變換。由于延遲的作用使得當輸入信號發(fā)生變化時(shí),其輸出信號不能同步地跟隨輸入信號變化,而是經(jīng)過(guò)一段過(guò)渡時(shí)間后才能達到原先所期望的狀態(tài)。這時(shí)會(huì )產(chǎn)生小的寄生毛刺信號,使電路產(chǎn)生瞬間的錯誤輸出,造成邏輯功能的瞬時(shí)紊亂。在FPGA內部沒(méi)有分布電感和電容,無(wú)法預見(jiàn)的毛刺信號可通過(guò)設計電路傳播,從而使電路出現錯誤的邏輯輸出。
任何組合電路、反饋電路和計數器都可能是潛在的毛刺信號發(fā)生器。毛刺并不是對所有輸入都有危害,如觸發(fā)器的D輸入端,只要毛刺不出現在時(shí)鐘的上升沿并滿(mǎn)足數據的建立保持時(shí)間,就不會(huì )對系統造成危害。而當毛刺信號成為系統的啟動(dòng)信號、控制信號、握手信號,觸發(fā)器的清零信號(CLEAR)、預置信號(PRESET)、時(shí)鐘輸入信號(CLK)或鎖存器的輸入信號就會(huì )產(chǎn)生邏輯錯誤。任何一點(diǎn)毛刺都可能使系統出錯,因此消除毛刺信號是FPGA設計中的一個(gè)重要問(wèn)題。毛刺問(wèn)題在電路連線(xiàn)上是找不出原因的,只能從邏輯設計上采取措施加以解決。消除毛刺的一般方法有以下幾種:
(1)利用冗余項消除毛刺
函數式和真值表所描述的是靜態(tài)邏輯,而競爭則是從一種穩態(tài)到另一種穩態(tài)的過(guò)程。因此競爭是動(dòng)態(tài)過(guò)程,它發(fā)生在輸入變量變化時(shí)。此時(shí),修改卡諾圖,增加多余項,在卡諾圖的兩圓相切處增加一個(gè)圓,可以消除邏輯冒險。但該法對于計數器型產(chǎn)生的毛刺是無(wú)法消除的。
(2)取樣法
由于冒險出現在變量發(fā)生變化的時(shí)刻,如果待信號穩定之后加入取樣脈沖,那么就只有在取樣脈沖作用期間輸出的信號才能有效。這樣可以避免產(chǎn)生的毛刺影響輸出波形。
(3)吸收法
增加輸出濾波,在輸出端接上小電容C可以濾除毛刺,如圖3所示。但輸出波形的前后沿將變壞,在對波形要求較嚴格時(shí),應再加整形電路,該方法不宜在中間級使用。

2009-04-19 17:49:33
資料
BBK
【1樓】

宣傳分:24
發(fā)帖數:83
積分: 427


(4)延遲辦法
因為毛刺最終是由于延遲造成的,所以可以找出產(chǎn)生延遲的支路。對于相對延遲小的支路,加上毛刺寬度的延遲可以消除毛刺。但有時(shí)隨著(zhù)負載增加,毛刺會(huì )繼續出現,因而這種方法也是有局限性的。而且采用延遲線(xiàn)的方法產(chǎn)生延遲更會(huì )由于環(huán)境溫度的變化而使系統變不可靠。
(5)鎖存辦法
當計數器的輸出進(jìn)行相'與'或相'或'時(shí)會(huì )產(chǎn)生毛刺。隨著(zhù)計數器位數的增加,毛刺的數量和毛刺的種類(lèi)也會(huì )越來(lái)越復雜。
當FPGA輸出有系統內其它部分的邊沿或電平敏感信號時(shí),應在輸出端寄存那些對險象敏感的組合輸出。對于異步輸入,可通過(guò)增加輸入寄存器確保滿(mǎn)足狀態(tài)機所要求的建立和保持時(shí)間。對于一般情況下產(chǎn)生的毛刺,可以嘗試用D觸發(fā)器來(lái)消除。但用D觸發(fā)器消除時(shí),有時(shí)會(huì )影響到時(shí)序,需要考慮很多問(wèn)題。所以要仔細地分析毛刺產(chǎn)生的來(lái)源和毛刺的性質(zhì),采用修改電路或其它辦法來(lái)徹底消除。

2.3 FPGA中的延時(shí)設計
當需要對電路中的某一信號作一段延時(shí)時(shí),可在信號后串接一些'非門(mén)'或其它門(mén)電路。但在FPGA中,開(kāi)發(fā)軟件會(huì )在綜合設計時(shí)將這些門(mén)當作冗余邏輯去掉,達不到延時(shí)的效果。用ALTERA公司的MAXPLUSII開(kāi)發(fā)FPGA時(shí),可以通過(guò)插入LCELL原語(yǔ)或調用延時(shí)線(xiàn)模塊來(lái)產(chǎn)生一定的延時(shí)。但這樣形成的延時(shí)在FPGA芯片中并不穩定,會(huì )隨溫度等外部環(huán)境的改變而改變,這樣會(huì )影響FPGA的性能。因此,可以用高頻時(shí)鐘來(lái)驅動(dòng)一移位寄存器,需要延時(shí)的信號作為數據輸入,按所需延時(shí)正確設置移位寄存器的級數,移位寄存器的輸出即為延時(shí)后的信號。此方法產(chǎn)生的延時(shí)信號有誤差,誤差大小由高頻時(shí)鐘的周期來(lái)決定。對于數據信號的延時(shí),在輸出端用數據時(shí)鐘對延時(shí)后的信號重新采樣,就可以消除誤差。當然,當所需延時(shí)較長(cháng)時(shí),這樣做比較浪費資源。此外,用VHDL語(yǔ)言進(jìn)行FPGA設計時(shí),不能用after語(yǔ)句來(lái)實(shí)現延時(shí),因為目前的綜合工具還不能做到如此精確的延時(shí),即程序中的after語(yǔ)句不能被綜合。

2.4FPGA中的同步電路設計
2.4.1 同步電路與異步電路
異步電路主要是組合邏輯電路,用于產(chǎn)生地址譯碼器、FIFO或RAM的讀寫(xiě)控制信號脈沖,其邏輯輸出與任何時(shí)鐘信號都沒(méi)有關(guān)系,譯碼輸出產(chǎn)生的毛刺通常是可以監控的。同步電路是由時(shí)序電路(寄存器和各種觸發(fā)器)和組合邏輯電路構成的電路,其所有操作都是在嚴格的時(shí)鐘控制下完成的。這些時(shí)序電路共享同一個(gè)時(shí)鐘CLK,而所有的狀態(tài)變化都是在時(shí)鐘的上升沿(或下降沿)完成的。比如D觸發(fā)器,當上升延到來(lái)時(shí),寄存器把D端的電平傳到Q輸出端。 下面介紹一下建立保持時(shí)間的問(wèn)題。建立時(shí)間(tsu)是指在觸發(fā)器的時(shí)鐘上升沿到來(lái)以前,數據穩定不變的時(shí)間。如果建立時(shí)間不夠,數據將不能在這個(gè)時(shí)鐘上升沿被打入觸發(fā)器;保持時(shí)間(th)是指在觸發(fā)器的時(shí)鐘上升沿到來(lái)以后,數據穩定不變的時(shí)間。如果保持時(shí)間不夠,數據同樣不能被打入觸發(fā)器。數據穩定傳輸必須滿(mǎn)足建立時(shí)間和保持時(shí)間的要求,否則電路就會(huì )出現邏輯錯誤。
例如,從D觸發(fā)器的Q輸出端直接饋給另一觸發(fā)器的D輸入端時(shí),第一個(gè)D觸發(fā)器能滿(mǎn)足建立保持時(shí)間,但是到第二個(gè)D觸發(fā)器的延遲就可能不足以滿(mǎn)足第二個(gè)觸發(fā)器對保持時(shí)間的要求,此時(shí)就會(huì )出現邏輯錯誤,當時(shí)鐘出現歪斜時(shí)錯誤更加嚴重。解決辦法是在第一個(gè)觸發(fā)器Q端加一緩沖器,如圖7所示。這樣就能滿(mǎn)足第二個(gè)觸發(fā)器的時(shí)序要求。另外還可采用一個(gè)低驅動(dòng)強度的源D型觸發(fā)器而不加緩沖來(lái)解決,高的相對扇出有助于改進(jìn)保持時(shí)間。
同步數字電路系統在當今是占絕對優(yōu)勢的,工程師常用它設計所有能想象到的數字電路,其頻率可以從直流到幾GHz。同步電路與異步電路相比有以下優(yōu)點(diǎn):
(1)同步電路能在溫度、電壓、過(guò)程等參數變化的情況下保持正常的工作,而異步電路的性能通常和環(huán)境溫度、工作電壓以及生產(chǎn)過(guò)程有關(guān)。
(2)同步電路具有可移植性,易于采用新技術(shù)或更先進(jìn)的技術(shù),而異步電路很難重用和維護。
(3)同步電路能簡(jiǎn)化兩個(gè)模塊之間的接口,而異步電路需要握手信號或令牌標記才能確保信號的完整性。
(4)用D觸發(fā)器或寄存器設計同步電路,可以消除毛刺和同步內部歪斜的數據。而異步電路就沒(méi)有這個(gè)優(yōu)點(diǎn),且很難進(jìn)行模擬和排錯,也不能得到很好的綜合。
同步電路也有缺點(diǎn),因為需要時(shí)序器件,它與異步電路相比將會(huì )消耗更多的邏輯門(mén)資源。雖然異步電路速度較快且電源消耗較少,但由于現在的FPGA芯片已做到幾百萬(wàn)門(mén),故不必太在意這一點(diǎn)。筆者建議盡量避免用異步電路而采用同步電路進(jìn)行設計。

2.4.2 用流水線(xiàn)技術(shù)提高同步電路的速度
同步電路的速度是指同步系統時(shí)鐘的速度,同步時(shí)鐘愈快,電路處理數據的時(shí)間間隔越短,電路在單位時(shí)間內處理的數據量就愈大。

Tco是觸發(fā)器的輸入數據被時(shí)鐘打入到觸發(fā)器到數據到達觸發(fā)器輸出端的延時(shí)時(shí)間;Tdelay是組合邏輯的延時(shí);Tsetup是D觸發(fā)器的建立時(shí)間。假設數據已被時(shí)鐘打入D觸發(fā)器,那么數據到達第一個(gè)觸發(fā)器的Q輸出端需要的延時(shí)時(shí)間是Tco,經(jīng)過(guò)組合邏輯的延時(shí)時(shí)間為Tdelay,然后到達第二個(gè)觸發(fā)器的D端,要希望時(shí)鐘能在第二個(gè)觸發(fā)器再次被穩定地打入觸發(fā)器,則時(shí)鐘的延遲必須大于Tco+Tdelay+Tsetup,也就是說(shuō)最小的時(shí)鐘周期Tmin=Tco+Tdelay+Tsetup,即最快的時(shí)鐘頻率Fmax=1/Tmin。FPGA開(kāi)發(fā)軟件也是通過(guò)這種方法來(lái)計算系統最高運行速度Fmax。因為Tco和Tsetup是由具體的器件工藝決定的,故設計電路時(shí)只能改變組合邏輯的延時(shí)時(shí)間Tdelay,所以說(shuō)縮短觸發(fā)器間組合邏輯的延時(shí)時(shí)間是提高同步電路速度的關(guān)鍵所在。由于一般同步電路都大于一級鎖存,而要使電路穩定工作,時(shí)鐘周期必須滿(mǎn)足最大延時(shí)要求。故只有縮短最長(cháng)延時(shí)路徑,才能提高電路的工作頻率??梢詫⑤^大的組合邏輯分解為較小的N塊,通過(guò)適當的方法平均分配組合邏輯,然后在中間插入觸發(fā)器,并和原觸發(fā)器使用相同的時(shí)鐘,就可以避免在兩個(gè)觸發(fā)器之間出現過(guò)大的延時(shí),消除速度瓶頸,這樣可以提高電路的工作頻率。這就是所謂'流水線(xiàn)'技術(shù)的基本設計思想,即原設計速度受限部分用一個(gè)時(shí)鐘周期實(shí)現,采用流水線(xiàn)技術(shù)插入觸發(fā)器后,可用N個(gè)時(shí)鐘周期實(shí)現,因此系統的工作速度可以加快,吞吐量加大。注意,流水線(xiàn)設計會(huì )在原數據通路上加入延時(shí),另外硬件面積也會(huì )稍有增加。

3 FPGA設計應注意的其它問(wèn)題
(1)所有的狀態(tài)機輸入,包括復位、置位信號,都要用同步信號。所有的狀態(tài)機輸出都要用寄存器寄存輸出。注意在狀態(tài)機設計中不要出現死鎖狀態(tài)。
(2)要用寄存器和觸發(fā)器設計電路,盡量不要用鎖存器,因它對輸入信號的毛刺太敏感。如果堅持用鎖存器設計必須保證輸入信號絕對沒(méi)有毛刺,且滿(mǎn)足保持時(shí)間。
(3)設計譯碼邏輯電路時(shí)必須十分小心,因為譯碼器和比較器本身會(huì )產(chǎn)生尖峰,容易產(chǎn)生毛刺,把譯碼器或比較器的輸出直接連到時(shí)鐘輸入端或異步清除端,會(huì )造成嚴重的后果。
(4)應該盡量避免隱含RS觸發(fā)器的出現。一般要控制輸出被直接反饋到輸入端,采用反饋環(huán)路會(huì )出現隱含RS觸發(fā)器,其對輸入尖峰和假信號很敏感,輸入端有任何變化都有可能使輸出值立刻改變,此時(shí)易造成毛刺的產(chǎn)生,導致時(shí)序的嚴重混亂。一旦具有隱含的RS觸發(fā)器,加鎖存器消除毛刺是不能解決問(wèn)題的。此時(shí)只有通過(guò)全面修改電路來(lái)從根本上解決。
(5)每一個(gè)模塊中只用一個(gè)時(shí)鐘,避免使用多時(shí)鐘設計,同時(shí)避免使用主時(shí)鐘分頻后的二次時(shí)鐘作為時(shí)序器件的時(shí)鐘輸入,因為二次時(shí)鐘相對于一次時(shí)鐘可能存在過(guò)大的時(shí)鐘歪斜。對所有模塊的輸入時(shí)鐘、輸入信號、輸出信號都用D觸發(fā)器或寄存器進(jìn)行同步處理,即輸出信號直接來(lái)自觸發(fā)器或寄存器的輸出端。這樣可以消除尖峰和毛刺信號。不論是控制信號還是地址總線(xiàn)信號、數據總線(xiàn)信號,都要采用另外的寄存器,以使內部歪斜的數據變成同步的數據。這些表面上看似乎無(wú)用的操作可以大大提高電路系統的性能。
(6)應該盡量避免使用延遲線(xiàn),因它對工藝過(guò)程的變化極為敏感,會(huì )大大降低電路的穩定性和可靠性,并將為測試帶來(lái)麻煩。
(7)大部分FPGA器件都為時(shí)鐘、復位、預置等信號提供特殊的全局布線(xiàn)資源,要充分利用這些資源。這樣可以減少電路中的毛刺并且大大提高設計電路的性能。
(8)不要試圖用HDL語(yǔ)言去綜合RAM、ROM或FIFO等存儲模塊。當前的綜合工具主要用于產(chǎn)生邏輯電路,如需要用這些模塊,直接調用或例化相應的宏單元即可。
(9)注意仿真結果和實(shí)際綜合的電路的不一致性。無(wú)論是時(shí)序電路還是異步邏輯電路,其行為與其仿真器結果都是不完全一樣的。特別是異步邏輯電路,仿真結果將會(huì )隱藏競爭冒險和毛刺現象,與實(shí)際行為相差較遠。故在FPGA設計中,對每一個(gè)邏輯門(mén)、每一行VHDL(Verilog)語(yǔ)言,必須完全理解,不要期望仿真器替你找到錯誤。一個(gè)好的設計工程師要知道怎樣通過(guò)修改設計來(lái)提高電路性能,而不把責任歸咎于所使用的軟件。

使用FPGA開(kāi)發(fā)數字電路,可以大大縮短設計時(shí)間、減少PCB面積、提高系統的可靠性。它的這些優(yōu)點(diǎn)使得FPGA技術(shù)得到飛速的發(fā)展,已經(jīng)在通信、電子、信號處理、工業(yè)控制等領(lǐng)域被廣泛應用。隨著(zhù)FPGA容量的增加,SOPC(對信號的處理和整個(gè)系統的控制)的應用時(shí)代即將到來(lái)。SOPC既有嵌入處理器、I/O電路和大規模嵌入存儲器,也有C/FPGA,用戶(hù)可以選擇。同時(shí)也可以選擇公司提供的FPGA 內核。使用核能保證系統級芯片的開(kāi)發(fā)效率、質(zhì)量,并能大大縮短產(chǎn)品開(kāi)發(fā)時(shí)間。因此,FPGA已成為解決系統級設計的重要選擇方案之一。本文對FPGA設計中的關(guān)鍵問(wèn)題進(jìn)行了研究,提出了設計中影響系統可靠性的主要問(wèn)題和解決方案,希望對FPGA設計者有一定的參考作用。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>