VHDL習題解答_第1頁
VHDL習題解答_第2頁
VHDL習題解答_第3頁
VHDL習題解答_第4頁
VHDL習題解答_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、VHDL 程序設計教程習題參考解答第一章 習題參考答案1什么是VHDL?VHDL的實現有哪幾種形態?硬件描述語言(Hardware Description Language,HDL),顧名思義,是電子系統硬件行為描述、結構描述、數據流描述的語言。VHDL語言的英文全名是Very High Speed Integrated Circuit Hardware Description Language,即超高速集成電路硬件描述語言。2簡述VHDL的發展史。1981年6月VHDL工作小組成立,提出了一個滿足電子設計各種要求的能夠作為工業標準的硬件描述語言。1983年第三季度,由IBM公司、TI公司、I

2、nter metrics公司簽約,組成開發小組,工作任務是提出語言版本和開發軟件環境。1986年IEEE標準化組織開始工作,討論VHDL語言標準,歷時一年有余,于1987年12月通過標準審查,VHDL1.0版本宣布實施,即IEEE STD 1076-1987。1993年經過重新修訂,發布VHDL2.0版本,從而形成新的標準即IEEE STD 1076-1993。2006年VHDL發布VHDL3.0版本;2008年8月,VHDL 4.0版本發布,解決了3.0版本中發現的多個問題。2009年1月,IEEE公布了VHDL 4.0的標準版本,最新VHDL標準IEEE 1076-2008在2009年1月

3、實施。3. 詳述VHDL設計IP模塊的流程。第1種設計形態,VHDL程序以IP模塊的形態存在,VHDL-IP設計流程如圖1.6所示。IP模塊是與集成電路工藝無關的芯片設計方案,可以移植到不同的設計環境。IP產品形態有規范,有IP包裝規則和復用規則,是原生態的芯片硬件設計產品。圖1.6 VHDL-IP設計流程4. 簡答VHDL設計用FPGA實現的意義。可編程器件FPGA具有容量大、密度高等特點,是科學實驗、小批量生產、樣機研制的載體。這種產品形態可以作為科學實驗、小批量產品研發的最佳實現方案。5. 敘述用VHDL設計ASIC的流程。VHDL設計的ASIC芯片實現,流程如圖1.8所示。工程項目的V

4、HDL功能設計與某一集成電路工藝相結合,形成集成電路版圖設計,并在晶圓上實現實現集成電路芯片的制造。圖1.8 VHDL- ASIC 設計流程工程項目經過集成電路前端設計(VHDL設計、功能時序設計)、后端設計(版圖設計),后端仿真、設計規則檢查(DRC)、形式驗證后的版圖,交付集成電路芯片代工廠進行工業化大規模生產。6. 怎樣建立一個基本VHDL設計環境?把VHDL語言輸入界面、編輯界面、編譯工具、器件庫、函數庫的組合稱為VHDL設計環境。許多EDA工具均提供了VHDL設計環境,如ALTERA公司的Quartus II。7. 開展IP 設計需要什么條件? VHDL程序以IP模塊的形態存在。IP

5、模塊是與集成電路工藝無關的芯片設計方案,可以移植到不同的設計環境。IP產品形態有規范,有IP包裝規則和復用規則,是原生態的芯片硬件設計產品。開展IP設計需要EDA工具提供VHDL語言編譯環境。8. 片上系統設計的知識要求和實驗條件有那些? 片上系統設計需要SOC系統知識,嵌入式計算機體系結構知識,IP復用知識,底層驅動軟件編寫技能。實驗條件,需要相對高級、復雜一些的FPGA開發板。第二章 習題參考答案1什么是對象?對象有哪幾種類型?在VHDL語言中,對象(Objects)是具有特定數據類型且可以被賦值的客體。VHDL語言中的對象有4類:常量(Constant)、信號(Signal)、變量(Va

6、riable)和文件(Files)。2變量和信號的區別是什么?變量(Variable)是一個局部量,主要用于對臨時數據進行局部存儲。信號(Signal)可用于電路內部硬件設計實體相互連接的抽象表示。信號是全局量,通常在實體說明、結構體和包中使用。3VHDL語言定義的標準數據類型有哪些?VHDL語言預定義的數據類型包括: 整數類型(Integer Type)、 實數類型或浮點類型(Real Type Floating Type)、 位類型(Bit Type)、 位矢量類型(Bit_Vector Type), 布爾類型(Boolean Type)、 字符類型(Character Type), 時間

7、類型或物理類型(Time Type Physical Type)、 錯誤類型(Note,Warning,Error,Failure Type), 自然數、整數類型(Natural Type) 字符串類型(Tring Type)。用戶自定義的數據類型:枚舉類型(Enumerated Type)、 數組類型(Array Type)、 存取類型(Access Type)、 文件類型(Files Type) 記錄類型(Recode Type)。4哪些數據類型不能被綜合?物理類型是不能被綜合的。5簡述VHDL語言操作符的優先級。運算符的優先級優先級順序運算操作符類型操 作 符操作符功能高低邏輯運算符NO

8、T取非算術運算符ABS取絕對值*指數運算REM取余MOD求模/除法*乘-負+正并置運算符&并置算術運算符-減+加關系運算符>=大于等于<=小于等于>大于<小于/=不等于=等于邏輯運算符XOR異或NOR或非NAND與非OR或AND與6哪3種方法可用來進行類型轉換?有3種方法:類型標記法、函數轉換法和常數轉換法。7. 狀態運算符的有哪兩個值? “TRUE”,和“FALSE”。8. 標示符與保留字有何不同?對VHDL編程有何約束?標識符用于命名實體、結構體、信號和變量等。VHDL語言中的保留字不可以用于標識符的命名中,保留字有些用于VHDL程序設計的關鍵字。 第三章

9、習題參考答案1簡述VHDL設計實體的結構。實體(Entity)提供了被設計系統或器件的公共信息,指明了輸入與輸出引腳。實體由實體名、類型說明、端口說明、實體說明部分和實體語句部分組成。實體的一般格式為:ENTITY 實體名 IS GENERIC語句; -可選項(參數說明) PORT語句; -必需項(端口說明) 實體說明部分; -可選項 BEGIN 實體語句部分;END ENTITY 實體名;2用結構體的3種描述法設計一個4位計數器。3什么叫進程?簡述進程的工作方式。進程語句不是一條語句,而是一段程序結構,這段程序描述了一個靠敏感信號觸發的硬件模塊反復執行的工作過程。進程語句(Process)是

10、并行處理語句,即在結構體中多個進程語句是同時并發運行的。進程語句的一般書寫形式為:進程名:PROCESS敏感信號表 變量聲明語句 BEGIN 順序語句 END PROCESS 進程名;進程語句中一般帶有一個敏感信號表。這些信號無論哪一個發生變化都將啟動進程,進程中的程序將從上到下順序執行一遍,產生新的結果并輸出。當進程執行完畢,就返回進程開始處,等待敏感量的新變化,引發進程的下一次執行。周而復始,循環往復,以至無窮。 4什么叫模塊?區分模塊與進程。模塊(Block)語句是結構體中的一系列并行語句的組合,適用于復雜項目的模塊化設計。模塊調用必須說明屬性、配置和連接關系。模塊語句的一般格式如下:塊

11、名:BLOCK 控制條件的布爾表達式 ISGENERIC子句 GENERIC映射; 端口子句 端口映射; 塊說明部分 BEGIN 并行語句A ; 并行語句B ;END BLOCK塊名;模塊是一個獨立的子結構,可以包含PORT語句和GENERIC語句,允許設計者通過這兩個語句將模塊的內部信號變化傳遞給模塊的外部信號。同樣,也可以將模塊的外部信號變化傳遞給模塊的內部信號。進程不是獨立的硬件結構描述,進程用于含有觸發條件的、需要反復運行的程序結構。5. 簡述過程與函數的區別。過程語句(procedure)結構過程語句的一般格式如下:PROCEDURE過程名|運算符號generic 子句;generi

12、c映射; parameter(參數列表)IS 子程序聲明區;BEGIN 順序處理語句;END PROCEDURE 過程名|運算符號;過程語句中的輸入輸出參數列在過程名后面的括號里,一般地,IN作為常量,OUT和INOUT作為變量。當過程語句在主程序調用結束后,將變量OUT和INOUT拷貝到調用者的信號和變量中。函數是具有某一特定功能的程序段,能夠被主程序調用。函數被調用時,首先要初始化,執行處理功能后,將處理結果傳遞給主程序。函數內部的值不能保持,函數返回后,才能被再次調用,再次初始化。VHDL程序中函數語句的結構與其他語句一樣,也有規定的書寫格式:FUNCTION函數名|運算符號generi

13、c子句;generic映射;parameter(參數列表)RETURN數據類型名 IS子程序聲明區;BEGIN 順序處理語句; RETURN返回變量名;ENDFUNCTION函數名|運算符號;6. 用結構化描述方法設計一個加法器。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY half_adder IS -實體名half_adderPORT(a,b:IN Bit; S,C:OUT Bit); -實體端口說明END ENTITY half_adder;ARCHITECTURE addr1 OF half_add IS-結構體1的名字為addr1BE

14、GIN S <= a XOR b; C <= a AND b;END ARCHITECTURE addr1;- - - - - - - - - - - - - ARCHITECTURE addr2 OF half IS -結構體2的名字為addr2BEGIN example:block -模塊名example PORT(a,b: IN Bit; -端口子句 s,c: OUT Bit); PORT MAP (a,b,s,c); -端口映射BEGIN P1: PROCESS (a,b) IS -進程1的標號P1 BEGIN s <= a XOR b; END PROCESS P1

15、; P2: PROCESS (a,b) IS -進程2的標號P2 BEGIN c <= a and b; END PROCESS P2;END Block example;END ARCHITECTURE addr2;7. 采用多模塊設計方法設計一個日歷時鐘 見教材。8. 單模塊的端口信號與芯片引腳是什么關系?PORT MAP語句通過映射實現了block塊內信號和結構體信號的連接,實現了實體端口引腳的連接,當實體端口信號發生變化時,通過映射,block塊內信號也會發生變化,即這種信號變化被傳遞到了塊內,block塊的行為根據新的輸入信號的變化而變化。9. 多模塊的端口信號與模塊間互聯信號

16、是什么關系?一個結構體中可以含有多個模塊,一個模塊中可以含有多個進程。如此嵌套、循環,就構成一個復雜的電子系統。模塊的端口信號用于模塊間的互聯信號。多模塊構成的新系統,端口信號重新定義。第四章 習題參考答案1 什么叫進程?簡述進程的工作方式。略2什么叫模塊?區分模塊與進程。略3用結構描述法和GENERATE語句設計一個8位移位寄存器。 上機編程并編譯實現。4設計一個3-8優先級編碼器。上機編程并編譯實現。5設計一個4-16譯碼器。上機編程并編譯實現。6. 設計一個十進制計數器。上機編程并編譯實現。7. 用生成語句設計一個數組存儲陣列。上機編程并編譯實現。8. 用斷言語句、report語句,編寫

17、一段測試診斷報告VHDL程序。上機編程并編譯實現。第五章 習題參考答案1配置語句的書寫格式是怎樣的?配置的一般書寫格式為:CONFIGURATION 配置名 OF 實體名 IS FOR 選配結構體名USE ENTITY 實體名(結構體名);GENERIC MAP 語句;PORT MAP 語句;塊配置 END FOR;END CONFIGURATION 配置名;2配置說明中的映射有哪兩種方法?形式端口與實際端口可以是名字關聯映射,也可以是位置順序關聯映射。3在配置語句中用GENERIC指定參數,設計一個譯碼器。上機編程實驗。4設計一個加法器,元件例化后放入庫中備用。上機編程實驗。5簡述層次化設計

18、的過程。層次化設計是指在一個大型設計任務中,將目標層層分解,在各個層次上分別進行設計的方法。在有些設計中,設計者先構建一些模塊,然后再將這些模塊組合起來,最終完成整個系統的設計。有人把在整個設計任務上的層面上展開行為描述的設計方法,稱為高層次設計,而對某一模塊、某一元件的結構描述稱為底層設計。6什么是庫、程序包、子程序、過程調用、函數調用?庫(Library)用來存儲已編譯的設計單元,通過其目錄可查詢、調用其中的設計單元。包(package)用來封裝一些類別相近的元件。包是庫中一個存儲單元。多個包存儲在一個元件庫中。子程序包含過程與函數。過程與函數是兩種不同VHDL程序片段。反復完成一些數學計

19、算的元件行為,寫VHDL函數較合適;反復完成某一處理過程的元件行為,寫VHDL過程較合適。在系統設計中,過程的調用程序編寫,稱為過程調用,函數的調用程序的編寫,稱為函數調用。這些調用的前提是過程模塊、函數模塊在庫中已經存在。 7. 編寫一個OR函數,重載它,對不同的數據類型進行OR運算。上機編程實驗。8. 寫一段textio程序,并給出實驗報告。 上機編程實驗。第六章 習題參考答案1CLK信號怎樣用VHDL語言描述?時鐘上升沿的描述語句:IF clk' CURRENT_VALUE = 0 AND clk' EVENT AND clk LAST_VALUE = 1;時鐘下降沿的描

20、述語句:IF clk' CURRENT_VALUE = 1 AND clk' EVENT AND clk LAST_VALUE = 0;2異步復位怎樣用VHDL語言描述?清零語句在時鐘語句外執行時,與時鐘無關,稱謂“異步清零”。P1: PROCESS (clk,clr) BEGIN IF (clr = 0) THEN -異步清零 Q <= 0 ; ELSIF(clkEVENT AND clk = 1 ) THEN Q <= d ; -時鐘上升沿時刻,q=d; END IF; END PROCESS P1;3設計一個8位循環移位寄存器。學生上機編程實踐4. 設計一個六

21、十進制計數器。學生上機編程實踐5. 設計一個八位編碼器。學生上機編程實踐6. 設計一個三八譯碼器。學生上機編程實踐7. 設計一個N位通用加法器。學生上機編程實踐8.為什么要層次化設計? 大型項目,需要多人協同設計。就需要把項目層層分解,把子項目分配給團隊成員。 復雜項目,需要基礎模塊設計和頂層設計,這樣模塊間的組裝時,構成的電子門系統結構比較清晰。9Moore型狀態機和Mealy型狀態機有什么相同和不同?Moore型狀態機的輸出信號僅與現態相關。Mealy型狀態機輸出是現態和輸入的函數。兩種類型的區分如圖所示。狀態機的區分10一位有效狀態機有什么優點?一般情況下,運行速度的提高,是以犧牲資源、

22、提高成本為代價的。一位有效編碼,比順序編碼方式占用資源多,這種方法在某些情況下不是最佳設計方案。當目標器件具有較多寄存器資源,并且寄存器之間組合邏輯較少時,一位有效編碼是一個比較合適的方法。一位有效編碼方式下狀態機輸出由狀態位譯碼輸出。這是因為各個狀態編碼僅對應單獨的狀態位。11設計一個3位8狀態機。學生上機編程實踐12設計一個基于PCI BUS數字圖像處理芯片,畫出層次分解圖,由幾個人分別編程,再組合通調,寫出一個團體協作的案例,總結成功失敗的經驗學生上機編程實踐第七章 習題參考答案1. 簡答功能仿真和時序仿真的不同。功能仿真:在RTL層進行的仿真,其特點是不考慮構成電路邏輯延遲和門時間延遲

23、,著重考慮電路在理想環境下的行為和設計結構的一致性;時序仿真:在電路已經映射到特定的工藝環境后,將電路的路徑延遲和門延遲考慮進對電路行為的影響后,來比較電路的行為是否還能夠在一定條件下滿足設計要求。2. 為什么VHDL設計僅需要功能仿真? VHDL 設計硬件電路,以功能設計為設計目標,與具體的集成電路工藝無關。在不同工藝條件下,時序延時是不同的。由于VHDL設計與工藝無關,因此僅需要功能仿真。當VHDL模塊移植在不同工藝條件下,時序仿真才有意義。3. 為什么集成電路設計版圖設計需要時序仿真? 集成電路版圖設計的前提是在某一特定的工藝條件下,進行芯片的物理層設計,由于不同工藝時序不同,所以需要時

24、序仿真,同時也需要功能仿真。在集成電路設計行業內,把版圖設計的時序仿真和功能仿真徹稱為“后仿真”。4. 熟練掌握使用仿真工具進行功能仿真和時序仿真,并寫出仿真步驟。 學生上機實驗5. 設計一個10進制計數器,編寫仿真Testbench,用ModeSim工具仿真出波形。 學生上機實驗6. 設計一個串行移位寄存器,編寫仿真Testbench,用ModeSim工具仿真出波形。 學生上機實驗7. 設計一個千兆網絡收發器,編寫仿真Testbench,用ModeSim工具仿真出波形 學生上機實驗8. 設計一個512MB容量的DDR3控制器,仿真出狀態機功能和讀寫時序波形。 學生上機實驗第八章 習題參考答案

25、1. VHPI有哪些功能?VHPI為每個功能提供了一個VHPI操作。在VHPI頭文件中,對每個功能都定義了一個vhpiCapabilitiesT類型的枚舉型常量。VHPI功能有:1. 層次化功能:用于訪問設計層次信息模型,對應的枚舉型常量為vhpiProvidesHierachy,表示靜態解釋區域的對象、聲明的對象,以及訪問聲明過的對象的值。2. 靜態訪問功能:用于訪問設計層次信息模型,對應的枚舉型常量為vhpiProvidesStaticAccess,表示靜態解釋語句的對象和表達式。3. 互聯功能:用于訪問設計層次信息模型中,對應的枚舉型常量為vhpiProvidesConnectivity

26、,表示驅動、負載和端口關聯等的對象。4. 事后分析功能:用于訪問庫信息模型中的對象,以及訪問由本地靜態表達式初始化的已聲明對象的值。對應的枚舉型常量為vhpiProvidesPostAnalysis。5. 基本外部模型功能:該功能支持外部模型的創建和回調;支持訪問層次信息模型中,表示外部模型的對象。對應的枚舉型常量為vhpiProvidesForeignModel。6. 高級外部模型功能:該功能支持外部驅動的創建、處理和事務調度。對應的枚舉型常量為vhpiProvidesAdvanceForeignModel。 7. 保存/重啟能力:用于支持外部模型和應用程序的保存和重啟。對應的枚舉型常量為v

27、hpiProvidesSaveRestart。8. 重置功能:用于支持外部模型重置和回調。對應的枚舉型常量為vhpiProvidesReset。9. 基本調試和運行時仿真功能:對應的枚舉型常量為vhpiProvidesDebugRuntime。支持vhpi_control、vhpi_get_time和vhpi_get_next_time函數;支持信號、端口和驅動對象值的變動和更新回調,支持時間和動作回調。10. 高級調試和運行時仿真功能:支持變量的對象值的變動和更新回調以及LineOffset屬性。對應枚舉型常量為vhpiProvidesAdvancedDebugRuntime。11. 動態解

28、釋功能:對應的枚舉型常量為vhpiProvidesDynamicElab,這一能力集需要基本調試和運行仿真功能、高級調試和運行仿真功能。支持訪問動態解釋區域、聲明或構造對象。2. 在VHPI工具運行的各個階段分別可以進行何類操作?VHDL工具各個運行階段為:l vhpiRegistrationPhase:工具開始注冊、執行階段。注冊階段包括兩個步驟,具體如下:(1)完成外部模型應用以及外部模型的庫注冊。(2)完成每個已注冊和已激活的vhpiCbStartOfTool回調運行。當所有的已注冊和已激活的vhpiCbStartOfTool回調返回到VHPI工具后,注冊階段完成。在注冊階段,調用函數v

29、hpi_get(vhpiPhaseP,NULL),返回vhpiRegistrationPhase。l vhpiAnalysisPhase:開始分析設計文件階段。分析階段包含3個步驟,具體如下:(1)每個已注冊和激活的vhpiCbStartOfAnalysis回調都已運行。(2)一個或多個設計文件已完成分析。(3)每個注冊和激活的vhpiCbEndOfAnalysis回調都已運行。在分析階段,調用函數vhpi_get(vhpiPhaseP,NULL),返回vhpiAnalysisPhase。l vhpiElaborationPhase:開始靜態解釋(Elaboration)設計層次階段。解釋階段

30、包含下列步驟:(1)每個已注冊和激活的vhpiCbStartOfElaboration回調都已運行。(2)設計層次已解釋。如果存在注冊過的外部結構體,這一行為會為這些外部結構體喚起解釋函數。(3)每個注冊和激活的vhpiCbEndOfElaboration回調都已運行。在解釋階段,調用vhpi_get(vhpiPhaseP, NULL),返回vhpiElaborationPhase。l vhpiInitializationPhase:開始初始化階段。初始化階段用于設計層次的初始化。初始化階段可以包含為已注冊的外部結構體調用運行函數。在初始化階段,調用函數vhpi_get(vhpiPhaseP,

31、 NULL),返回vhpiInitializationPhase。l vhpiSimulationPhase:開始執行仿真階段。仿真階段涉及仿真周期的運行,包括已注冊和激活的vhpiCbStartOfSimulation(開始仿真)和vhpiCbEndOfSimulation(結束仿真)回調的運行。在仿真階段,調用vhpi_get(vhpiPhaseP, NULL),返回vhpiSimulationPhase。(仿真結果)l vhpiSavePhase:保存VHDL模型的當前狀態階段。保存階段包含下列步驟:(1)設計工具保存當前VHDL模型狀態的一些行為,包括下個仿真周期的時間Tn。(2)已注

32、冊和已激活的vhpiCbStartOfSave回調運行完成。(3)已注冊和已激活的vhpiCbEndOfSave回調運行完成。在保存階段,調用vhpi_get(vhpiPhaseP, NULL),返回vhpiSavePhase。l vhpiRestartPhase:VHDL模型重新啟動階段。重啟階段包含下列步驟:(1)恢復先前保存的VHDL模型狀態的一些行為,包括下個仿真周期的時間Tn。(2)已注冊和激活的vhpiCbStartOfRestart回調運行完成。(3)已注冊和激活的vhpiCbEndOfRestart回調運行完成。在重啟階段,調用vhpi_get(vhpiPhaseP, NULL

33、),返回vhpiRestartPhase。l vhpiCbStartOfReset:重置階段重置階段包含下列步驟:(1)已注冊和激活的vhpiCbStartOfReset回調運行完成。(2)所有除vhpiCbEndOfReset以外的回調都被清除。(3)每個驅動的輸出波形都被重置為初始內容。(4)當前時間Tc被重置為0 ns。(5)已注冊和激活的vhpiCbEndOfReset回調運行完成。在重置階段,調用vhpi_get(vhpiPhaseP, NULL),返回vhpiResetPhase。l vhpiTerminationPhase:工具終止階段。終止階段涉及運行每個已注冊和激活的vhpi

34、CbEndOfTool回調。當所有的回調都已返回到工具時,工具可以終止。3. 回調的作用是什么?回調是VHPI工具在VHDL模型運行程序時獲得控制的一種機制,用于VHPI/C代碼和VHDL模型之間的通信。4. VHPI工具、C+程序、VHDL模塊三者的聯系與區分,相互作用關系是什么?VHPI提供訪問數據到VHDL模型,對其評估與仿真。這個接口是作為C語言的庫來實現的,由IEEE研發并滿足VHPI標準。VHPI應用程序必須編譯、連接的共享庫,它們能進一步VHDL設計單元、子程序綁定。5. 熟悉Active-HDL工具。學生上機實習6. 熟悉Eclipse軟件開發環境。學生上機實習7. 設計一個DDR3控制器,使用VHPI工具、C+程序進行仿真、測試。學生上機實

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論