基于VHDL的數(shù)值比較器、數(shù)據(jù)選擇器、移位寄存器、60進制計數(shù)器、復雜ALU設(shè)計實驗報告_第1頁
基于VHDL的數(shù)值比較器、數(shù)據(jù)選擇器、移位寄存器、60進制計數(shù)器、復雜ALU設(shè)計實驗報告_第2頁
基于VHDL的數(shù)值比較器、數(shù)據(jù)選擇器、移位寄存器、60進制計數(shù)器、復雜ALU設(shè)計實驗報告_第3頁
基于VHDL的數(shù)值比較器、數(shù)據(jù)選擇器、移位寄存器、60進制計數(shù)器、復雜ALU設(shè)計實驗報告_第4頁
基于VHDL的數(shù)值比較器、數(shù)據(jù)選擇器、移位寄存器、60進制計數(shù)器、復雜ALU設(shè)計實驗報告_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

于、60雜設(shè)計實驗報告VHDL告級:電子號:名:1兩器實的悉QuartusII。習。容:計三實要求:(1)熟掌握QuartusII開發(fā)環(huán)下可程輯件進行序設(shè)的套流程;2)設(shè)輸使插語模板(Insert((3)在QuartusII開發(fā)環(huán)下設(shè)程進時序仿,生的置件下載實板進最的物試證。四實原理:為:比較器特性表ABIn_sIn_l較器路示圖A>B×1A[3:0]B[3:0]A<B×0YeA=B010001YsComparerIn_lA=B100100In_eA=B001010A=B000×××A=B×11×××A=B1×1×××A=B11××××五、程序編寫、調(diào)試及仿真(芯片型號:MAX?系列EPM1270T144C5)(1)程序編寫:libraryieee;useieee.std_logic_1164.all;2entityVhdl1isport(a,b:instd_logic_vector(3downto0);ins,inl,ine:instd_logic;ys,ye,yl:outstd_logic);endVhdl1;architectureoneofVhdl1issignaltemps,tempe:std_logic;beginys<=temps;ye<=tempe;yl<=tempsnortempe;process(a,b,ine)beginif(a=bandine='1')thentempe<='1';elsetempe<='0';endif;endprocess;process(a,b,ins)beginif(a<b)thentemps<='1';elsif(a=bandins='1')thentemps<='1';elsetemps<='0';endif;endprocess;endone;(2)功能仿真:3(3)芯片引腳設(shè)定:(4)適配下載結(jié)果六、結(jié)果分析本實驗實現(xiàn)了兩位二進制數(shù)的比較。當兩位二進制數(shù)的高位不相等時,不在進行低位的比較,直接判斷出結(jié)果;當兩位二進制數(shù)的高位相等時,則借助判斷二進制數(shù)的低位是否相等來進行兩位二進制數(shù)的大小判斷。七、實驗注意事項實體(entity)名稱與文件名稱一致;時序仿真時,波形編輯后先保存波形文件再進行時序仿真分配管腳后,需要重現(xiàn)編譯,然后才能下載。設(shè)計流程:新建項目,新建源文件,輸入語言編譯,仿真,分配管腳,編譯,下載仿真流程:新建波形文件,導入管腳信號并編輯輸入信號仿真下載的時候選擇硬件為:USB-Blaster[USB-0]4Experiment2Designing8to1-Multiplxer一、實驗?zāi)康?熟悉QuartusII的開發(fā)環(huán)境、熟練掌握編程開發(fā)流程。學習VHDL的基本語法及編程設(shè)計。二、實驗內(nèi)容:八選一數(shù)據(jù)選擇器設(shè)計三、實驗要求:(1)熟練掌握開發(fā)環(huán)境下對可編程邏輯器件進行程序化設(shè)計的整套流程;2)設(shè)計輸入使用插入語言模板(InsertTemplate);((3)在開發(fā)環(huán)境下對設(shè)計程序進行時序仿真,將生成的配置文件下載到實驗板,進行最終的實物測試驗證。四、實驗原理:電路功能表及其電路外部符號如下:電路功能表SbMux8-1SbA2A1A0YD01×××D1D2D00000D3D4D10001D5D20010D6D7D30011A2D40100A1D50101A0D60110D70111五、程序編寫、調(diào)試及仿真(芯片型號:MAX?系列EPM1270T144C5)(1)程序編寫:libraryieee;useieee.std_logic_1164.all;5ENTITYmux8_1ISPORT(d:INSTD_LOGIC_VECTOR(7DOWNTO0);sel:INSTD_LOGIC_VECTOR(2DOWNTO0);sb:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDmux8_1;ARCHITECTURErtlOFmux8_1ISBEGINPROCESS(d,sel,sb)BEGINIf(sb='0')thencase(sel)isWhen"000"=>y<=d(0);When"001"=>y<=d(1);When"010"=>y<=d(2);When"011"=>y<=d(3);When"100"=>y<=d(4);When"101"=>y<=d(5);When"110"=>y<=d(6);When"111"=>y<=d(7);Whenothers=>y<='X';endcase;elsey<='0';endif;ENDPROCESS;ENDrtl;(2)功能仿真和芯片時序仿真:(3)芯片引腳設(shè)定:6(4)適配下載結(jié)果六、實驗結(jié)論本實驗實現(xiàn)了8選1數(shù)據(jù)選擇器的設(shè)計,通過選擇信號的變化來選擇位數(shù)據(jù)d[7:0]的哪一位。關(guān)于sel的選擇信號和每一位的對應(yīng)關(guān)系自己可以自行設(shè)計。七、實驗注意事項實體(entity)名稱與文件名稱一致;時序仿真時,波形編輯后先保存波形文件再進行時序仿;分配管腳后,需要重現(xiàn)編譯,然后才能下載。設(shè)計流程:新建項目,新建源文件,輸入語,編譯,仿真,分配管腳,編譯,下載仿真流程:新建波形文件,導入管腳信號并編輯輸入信,仿真下載的時候選擇硬件為:USB-Blaster[USB-0]。7Experiment3Designingmodule_60一、實驗?zāi)康?熟悉QuartusII的開發(fā)環(huán)境、熟練掌握編程開發(fā)流程。學習數(shù)字系統(tǒng)中層次化設(shè)計技巧、結(jié)構(gòu)化設(shè)計的程序設(shè)計學習顯示譯碼電路分頻電路、計數(shù)電路的程序設(shè)計二、實驗內(nèi)容:基于數(shù)碼管顯示的進制計數(shù)器設(shè)計三、實驗要求:熟練掌握QuartusII開發(fā)環(huán)境下對可編程邏輯器件進行程序化設(shè)計的整套流程;將50MHz信號分頻為信號,以1Hz為進制計數(shù)器使能信號,實現(xiàn)進制計數(shù)功能;計數(shù)進位持續(xù)時間1s用LED顯示,計數(shù)結(jié)果用兩位數(shù)碼管顯示設(shè)計位同步時序電路,在QuartusII開發(fā)環(huán)境下對設(shè)計程序進行時序仿;(5)將生成的配置文件下載到實驗板,進行最終的實物測試驗證四、實驗原理:先對50MHz時鐘信號分頻得到1Hz,然后調(diào)用兩個進制計數(shù)器,計數(shù)到59時回到初始0的計數(shù)狀態(tài),每個10進制計數(shù)的技術(shù)結(jié)果通過顯示譯碼送到兩位數(shù)碼管上顯示,結(jié)構(gòu)框圖如下:8五、程序編寫、調(diào)試及仿真(芯片型號:MAX?系列EPM1270T144C5)(1)程序編寫:、60進制計數(shù)器頂層程序:libraryieee;useieee.std_logic_1164.all;entitycount_60isport(clk,rst:instd_logic;count_data10,count_data1:outstd_logic_vector(6downto0);en_out:outstd_logic);endcount_60;architecturertlofcount_60iscomponentsec_outport(clk,rst:instd_logic;en_out:outstd_logic);endcomponent;componentcount_10port(clk,rst,en_in,ld:instd_logic;data_in:instd_logic_vector(3downto0);data_out:outstd_logic_vector(3downto0);en_out:outstd_logic);endcomponent;componentdis_decodeport(data_in:instd_logic_vector(3downto0);dis_num:outstd_logic_vector(6downto0));endcomponent;signalcont_tmp10,cont_tmp1,data_in:std_logic_vector(3downto0);signalld,sec_en,sec_en10,min_out:std_logic;beginld<=sec_en10andcont_tmp10(2)andcont_tmp10(0);data_in<="0000";en_out<=cont_tmp10(2)andcont_tmp10(0)andcont_tmp1(3)andcont_tmp1(0);U0:sec_outportmap(clk,rst,sec_en);U1:count_10portmap(clk,rst,sec_en,ld,data_in,cont_tmp1,sec_en10);U2:count_10portmap(clk,rst,sec_en10,ld,data_in,cont_tmp10,min_out);U3:dis_decodeportmap(cont_tmp1,count_data1);9U4:dis_decodeportmap(cont_tmp10,count_data10);endrtl;、10進制計數(shù)器libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitycount_10isport(clk,rst,en_in,ld:instd_logic;data_in:instd_logic_vector(3downto0);data_out:outstd_logic_vector(3downto0);en_out:outstd_logic);endcount_10;architecturertlofcount_10issignalcont_tmp:std_logic_vector(3downto0);beginen_out<=en_inandcont_tmp(3)andcont_tmp(0);data_out<=cont_tmp;process(clk,rst)beginif(rst='0')thencont_tmp<="0000";elsif(clk'eventandclk='1')thenif(ld='1')thencont_tmp<=data_in;elsif(en_in='1')thenif(cont_tmp="1001")thencont_tmp<="0000";elsecont_tmp<=cont_tmp+'1';endif;endif;endif;endprocess;endrtl;、LED譯碼器10libraryieee;useieee.std_logic_1164.all;entitydis_decodeisport(data_in:instd_logic_vector(3downto0);dis_num:outstd_logic_vector(6downto0));enddis_decode;architecturertlofdis_decodeisbeginwithdata_inselectdis_num<="0111111"WHEN"0000","0000110"WHEN"0001","1011011"WHEN"0010","1001111"WHEN"0011","1100110"WHEN"0100","1101101"WHEN"0101","1111101"WHEN"0110","0000111"WHEN"0111","1111111"WHEN"1000","1101111"WHEN"1001","0000000"WHENothers;endrtl;、50M分頻器libraryieee;useieee.std_logic_1164.all;entitysec_outisport(clk,rst:instd_logic;en_out:outstd_logic);endsec_out;architecturertlofsec_outiscomponentdivide_5port(clk,rst,en_in:instd_logic;en_out:outstd_logic);endcomponent;componentdivide_10port(clk,rst,en_in:instd_logic;en_out:outstd_logic);endcomponent;signalen0,en1,en2,en3,en4,en5,en6,en7:std_logic;11beginen_out<=en7;U0:divide_5portmap(clk,rst,'1',en0);U1:divide_10portmap(clk,rst,en0,en1);U2:divide_10portmap(clk,rst,en1,en2);U3:divide_10portmap(clk,rst,en2,en3);U4:divide_10portmap(clk,rst,en3,en4);U5:divide_10portmap(clk,rst,en4,en5);U6:divide_10portmap(clk,rst,en5,en6);U7:divide_10portmap(clk,rst,en6,en7);endrtl;、5分頻libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitydivide_5isport(clk,rst,en_in:instd_logic;en_out:outstd_logic);enddivide_5;architecturertlofdivide_5issignalcont_tmp:std_logic_vector(2downto0);beginen_out<=en_inandcont_tmp(2);process(clk,rst)beginif(rst='0')thencont_tmp<="000";elsif(clk'eventandclk='1')thenif(en_in='1')thenif(cont_tmp="100")thencont_tmp<="000";elsecont_tmp<=cont_tmp+'1';endif;endif;endif;endprocess;endrtl;12、10分頻libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitydivide_10isport(clk,rst,en_in:instd_logic;en_out:outstd_logic);enddivide_10;architecturertlofdivide_10issignalcont_tmp:std_logic_vector(3downto0);beginen_out<=en_inandcont_tmp(3)andcont_tmp(0);process(clk,rst)beginif(rst='0')thencont_tmp<="0000";elsif(clk'eventandclk='1')thenif(en_in='1')thenif(cont_tmp="1001")thencont_tmp<="0000";elsecont_tmp<=cont_tmp+'1';endif;endif;endif;endprocess;endrtl;(2)功能仿真和芯片時序仿真:、5分頻仿真波形13、50分頻仿真波形950*603*10M,因為要有個大數(shù)據(jù)量,仿真不容易進行,所以在此我們改編仿真50分頻的波形。、10進制計數(shù)器仿真波形、LED譯碼器、60進制計數(shù)器仿真波形14(3)芯片引腳設(shè)定:(4)適配下載結(jié)果六、實驗總結(jié)本實驗實現(xiàn)了60進制計數(shù)器的功能設(shè)計,該實驗涉及到了分頻器、譯碼器、10進制計數(shù)器的設(shè)計以及從元件例化,然后到調(diào)用的層次化、結(jié)構(gòu)化系統(tǒng)設(shè)計的方法,整個程序?qū)哟吻逦?,易于理解和實現(xiàn)。15Experiment4Designingshift_register一、實驗?zāi)康?熟悉QuartusII的開發(fā)環(huán)境、熟練掌握編程開發(fā)流程以及的基本語法。學習數(shù)字系統(tǒng)中移位寄存器設(shè)計及其VHDL程二、實驗內(nèi)容:移位寄存器設(shè)計三、驗求:熟練握QuartusII開環(huán)下可程輯件行序設(shè)的套流程;設(shè)計同時電路在開環(huán)下設(shè)程進時仿真;將生的置件載實板進最的物試證四、驗理:根據(jù)制位key_in、ld、ctr、clr來制位存的態(tài)其路意及電特表為比較特表比較器電路示意圖loadkey_inctr0××××data_in[3:0]復位data_q[3:0])clk10××置數(shù)clr110×保持Shift_registerload110×保持ctr右移key_in左移srsl五、程序編寫、調(diào)試及仿真(1)程序編寫:(芯片型號:MAX?系列EPM1270T144C5)libraryieee;useieee.std_logic_1164.all;ENTITYshiftIS16PORT(clr,clk,ld,ctr,key_in,sr,sl:INSTD_LOGIC;data_in:INSTD_LOGIC_VECTOR(3downto0);data_q:OUTSTD_LOGIC_VECTOR(3downto0));ENDshift;ARCHITECTUREarcOFshiftISsignaldata_tmp:STD_LOGIC_VECTOR(3downto0);signalkey_en:std_logic;BEGINdata_q<=data_tmp;PROCESS(clr,clk)BEGINIF(clr='0')THENdata_tmp<="0000";ELSIF(clk'EVENTANDclk='1')THENIFld='0'THENdata_tmp<=data_in;ELSIF(key_in='1'ANDctr='0')THENdata_tmp<=sr&data_tmp(3downto1);--youyiELSIF(key_in='1'ANDctr='1')THENdata_tmp<=data_tmp(2downto0)&sl;--zuoyiENDIF;ENDIF;ENDPROCESS;ENDarc;(2)功能仿真和芯片時序仿真:(3)芯片引腳設(shè)定:17(4)適配下載結(jié)果六、實驗結(jié)論本實驗實現(xiàn)了4位簡單移位寄存器的設(shè)計,通過來使寄存器清零。當時鐘上升沿到來的時候:ld='0'時,實現(xiàn)將送到輸出端data_out[3:0],實現(xiàn)置數(shù)功能;key_in='1'并且ctr='1'時,將sl據(jù)送到到次態(tài)data_tmp[0],而現(xiàn)態(tài)data_tmp[2:0]則轉(zhuǎn)變?yōu)榇螒B(tài)data_tmp[3:1]從而實現(xiàn)左移功能;key_in='1'并且ctr='0'時,將sr數(shù)據(jù)送到到次態(tài)data_tmp[3],而現(xiàn)態(tài)data_tmp[3:1]則轉(zhuǎn)變?yōu)榇螒B(tài)data_tmp[2:0]從而實現(xiàn)右移功能。18Experiment5DesigningbasicALU一、實驗?zāi)康?熟悉的開發(fā)環(huán)境、熟練掌握編程開發(fā)流程以及的基本語法。學習邏輯功能模塊的設(shè)計二、實驗內(nèi)容:4bit基本ALU單元的設(shè)計三、實驗要求:要求設(shè)計的單元具有4bit、減加算術(shù)運算和邏輯與、或運算將生成的配置文件下載到實驗板,進行最終的實物測試驗證四、實驗原理:算術(shù)運算和邏輯運算通過功能選擇信號的不同取值實現(xiàn),對應(yīng)的電路示意圖和功能表如下:功能選擇輸出執(zhí)行動作S1S0加法00F=A+B減法01F=A-BF=A?B邏輯與10F=A?B邏輯或11五、程序編寫、調(diào)試及仿真(1)程序編寫:LIBRARYieee;USEieee.std_logic_1164.all;19USEieee.std_logic_arith.all;USEieee.std_logic_unsigned.all;ENTITYalu_4bitISPORT(A,B:INSTD_LOGIC_VECTOR(3DOWNTO0);Cin:INSTD_LOGIC;S:INSTD_LOGIC_VECTOR(1DOWNTO0);BCDout:OUTSTD_LOGIC_VECTOR(3DOWNTO0);Cout:OUTSTD_LOGIC);ENDalu_4bit;ARCHITECTUREarchOFalu_4bitISSIGNALc1,c2,Y1,Y2,Y3,Y4:STD_LOGIC_VECTOR(3DOWNTO0);BEGINBCDout<=Y1whens="00"elseY2whens="01"elseY3whens="10"elseY4whens="11"else"XXXX";cout<=c1(3)whens="00"elsec2(3)whens="01"else'0';add:PROCESS(A,B,Cin,c1)BEGINY1(0)<=A(0)XORB(0)XORCin;c1(0)<=(A(0)ANDB(0))OR(cinAND(A(0)ORB(0)));GEN1:FORIIN1TO3LOOPY1(I)<=A(I)XORB(I)XORC1(I-1);c1(I)<=A(I))(c1(I-1)B(I))B(I));LOOP;PROCESSBEGINY2(0)<=B(0);c2(0)A(0))B(0))B(0))((NOTA(0))cin);I13LOOPY2(I)<=B(I)c2(I)<=A(I))(c2(I-1)B(I))OR(NOTB(I));LOOP;PROCESSBEGINY3(3)<=Y3(2)<=Y3(1)<=A(1)andB(1);Y3(0)<=A(0)andB(0);ENDPROCESSlogic_and;logic_or:PROCESS(A,B)BEGINY4(3)<=A(3)orB(3);Y4(2)<=A(2)orB(2);Y4(1)<=A(1)orB(1);Y4(0)<=A(0)orB(0);ENDPROCESSlogic_or;ENDarch;(2)功能仿真和芯片時序仿真:(3)芯片引腳設(shè)定:21(4)適配下載結(jié)果六、實驗總結(jié)本實驗實現(xiàn)了考慮帶有進位、借位和加、減算術(shù)運算和位邏輯與、邏輯或的基本運算,利用兩位控制信號來決定程序做何種運算。在加減運算中處理非最低位是采用了IIN1TO3LOOP….ENDLOOP;的循序,縮短了程序。在邏輯與或運算中進、借位端無效,使用了并行賦值語句來完成。22Experiment6DesigningComplexALU一、實驗?zāi)康?(1)熟悉QuartusII的開發(fā)環(huán)境、熟練掌握編程開發(fā)流程以及的基本語法。(2)學習邏輯功能模塊的設(shè)計二、實驗內(nèi)容:復雜ALU單元的設(shè)計三、實驗要求:(1)熟練掌握QuartusII開發(fā)環(huán)境下對可編程邏輯器件進行程序化設(shè)計的整套流程;設(shè)計的單元具有加、減加算術(shù)運算和邏輯與、或運算;(2)(3)在開發(fā)環(huán)境下對設(shè)計程序進行時序仿真,將生成的配置文件下載到實驗板,進行最終的實物測試驗證;四、實驗原理:算術(shù)運算和邏輯運算通過功能選擇信號的不同取值實現(xiàn),對應(yīng)的電路示意圖和功能表如下:功能選擇輸出執(zhí)行動作CinS2S1S00加法000F=A+B1帶進位加法000F=A+B+1230減法001F=A-B1帶借位減法001F=A-B-10傳遞(無進位)010F=A1A加1010F=A+10傳遞(無借位)011F=A1A減1011F=A-1F=A?B邏輯與100XF=A?B邏輯或101XF=A?B異或110X邏輯反11XF=~A五、程序編寫、調(diào)試及仿真(芯片型號:MAX?系列EPM1270T144C5)(1)程序編寫:LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;USEieee.std_logic_unsigned.all;ENTITYC_alu_4bitIS--4bitsALUPORT(A,B:INSTD_LOGIC_VECTOR(3DOWNTO0);Cin,C0:INSTD_LOGIC;S:INSTD_LOGIC_VECTOR(2DOWNTO0);BCDout:OUTSTD_LOGIC_VECTOR(3DOWNTO0);Cout:OUTSTD_LOGIC);ENDC_alu_4bit;ARCHITECTUREarchOFC_alu_4bitISSIGNALc1,c2,c3,c4,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,Y10,Y11,Y12:STD_LOGIC_VECTOR(3DOWNTO0);BEGINBCDout<=Y1when(s="000"andCin='0')else--jiaY2when(s="000"andCin='1')else--c_jiaY3when(s="001"andCin='0')else--jianY4when(s="001"andCin='1')else--c_jainY5when(s="010"andCin='0')else--遞(無進位)Y6when(s="010"andCin='1')else--A1Y7when(s="011"andCin='0')else--遞(無借位)Y8when(s="011"andCin='1')else--A1Y9when(s="100")else--andY10when(s="101")else--or24Y11when(s="110")else--xorY12when(s="111")else--not"XXXX";cout<=c1(3)when(s="000"andCin='1')elsec2(3)when(s="001"andCin='1')elsec3(3)when(s="010"andCin='1')elsec4(3)when(s="011"andCin='1')else'0';--arithmeticoperatoradd:PROCESS(A,B)BEGINGEN1:FORIIN0TO3LOOPY1(I)<=A(I)XORB(I);ENDLOOP;ENDPROCESSadd;c_add:PROCESS(A,B,C0,c1)BEGINY2(0)<=A(0)XORB(0)XORC0;c1(0)<=(A(0)ANDB(0))OR(C0AND(A(0)ORB(0)));GEN1:FORIIN1TO3LOOPY2(I)<=A(I)XORB(I)XORC1(I-1);c1(I)<=A(I))(c1(I-1)B(I))B(I));LOOP;PROCESSc_add;BEGINPROCESSBEGINY4(0)<=B

溫馨提示

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

評論

0/150

提交評論