




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、判斷對錯(并改正)(錯) 改正:把 =換為:=1、CONSTANTT2std_logicqqqq=d;ENDCASE答案:CASE句缺“WHENOTHER時句。2 .已知data_in1,data_in2為STD_LOGIC_VECTOR(DOWNTO類型的輸入端口,data_out為STD_LOGIC_VECTOR(15DOWNTO的輸出端口,add_sub為STD_LOGI腔型的輸入端口,請判斷下面給出的程序片段:LIBRARYIEEE;USE;ENTITYaddISPORT(data_in1,data_in2:ININTEGER;data_out:OUTINTEGER;ENDadd;
2、ARCHTECTUREadd_archOFaddISCONSTANTa:INTEGER=2BEGINdata_out=(data_in1+data_in2)*a;ENDaddsub_arch;答案:常量聲明時賦初值的“=符號應改用“尸”符號。3 .已知Q為STD_LOGICt型的輸出端口,請判斷下面的程序片段:ARCHITECTUREtest_archOFtestISBEGINSIGNALB:STD_LOGICQQQQQ=0;ENDCASE;ENDtest;【參考答案】:CAS晤句應該存在于進程PROCESS。2 .已知start為STD_LOGIC1型的彳t號,sumINTEGE誄型的信號,
3、請判斷下面的程序片斷:PROCESS(start)BEGINFORiIN1TO9LOOPsum:=sum+i;ENDLOOP;ENDPROCESS;【參考答案】:sum是信號,其賦值符號應該由:=改為“=。3 .已知Q為STD_LOGIC1型的輸出端口,請判斷下面的程序片斷:ARCHITECTUREtestOFtestISBEGINSIGNALB:STD_LOGIC;Q=B;ENDtest;【參考答案】:信號SIGNAL勺申明語句應該放在BEGINS句之前。4 .已知A口Bt勻為STD_LOGI類型的信號,請判斷下面的語句:A=0;B=x;【參考答案】:不定態符號應該由小寫的x改為大寫的X。5
4、 .已知A為INTEGERS型的彳言號,B為STD_LOGI袈型的信號,請判斷下面的程序片斷:ARCHITECTUREtestOFtestISBEGINBqqqq=d;ENDCASE;【參考答案】:CAS晤句缺“WHENOTHERS句。四、判斷下面程序中是否有錯誤,若有錯誤請改正;1、 SIGNALA,EN:STD_LOGIC;PROCESS(A,EN)VARIABLEB:STD_LOGIC;BEGINIFEN=1THENB=A;END;ENDPROCESS;2、 RCHITECTUREONEOFSAMPLEISVARIABLEA,B,C:INTEGER;BEGINC=A+B;END;五、判斷
5、下列程序是否有錯誤,如有則指出錯誤所在(10分)程序:LIBRARYIEEE;USEzyt12ISPORT(R,EN,CP:INbit;Q:BUFFERSTD_LOGIC_VECTOR(0DOWNTO3);CO:OUTSTD_LOGIC);ENDzyt;ARCHITECTUREc10OFzyt12BEGINCO=1WHEN(EN=1ANDQ=1011)ELSE0;PROCESS(R,CP)BEGINIFR=1THENQ=0000;ELSIF(CPEVENTANDCP=1)THENIFEN=0THENQ=Q;ELSIFQ=1011THENQ=0000;ELSEQ:=Q+1;ENDIF;ENDPR
6、OCESS;ENDone;六、VHDLS序改錯:(10分)01LIBRARYIEEE;02USE;03USE04ENTITYLED7CNTIS05PORT(CLR:INSTD_LOGIC;06CLK:INSTD_LOGIC;07LED7S:OUTSTD_LOGIC_VECTOR(DOWNTO0);08ENDLED7CNT;09ARCHITECTUREoneOFLED7CNTIS10 SIGNALTMP:STD_LOGIC_VECTOR(3DOWNTO0);11 BEGIN12 CNTROCESS(CLR,CLK)13 BEGIN14 IFCLR=1THEN15 TMP=0;16 ELSEIFC
7、LKEVENTANDCLK=1THEN17 TMP0);34 ENDCASE;35 ENDPROCESS;36 ENDone;在程序中存在兩處錯誤,試指出,并說明理由:提示:在MAX+PlusII上編譯時報出的第一條錯誤為:Error學ine15:File*/:Typeerror:typeWHEN 0000=WHEN 0001=LED7S =LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S =in waveform elementmust be“std_logic_vector第行,錯誤:改正:第行,錯誤:改正:七、判斷下列
8、程序是否有錯誤,如有則指出錯誤所在,并為以下兩個程序配上相應的實體和結構體。(10分)(10分)程序1:ARCHITECTUREoneOFsampleISVARIABLEa,b,c:INTEGER;BEGINC=a+bEND;程序2:signalA,EN:std_logic;process(A,EN)variableB:std_logic;beginifEN=1thenB=A;endif;endprocess;八、判斷下列程序是否有錯誤,如有則指出錯誤所在,并為以下兩個程序配上相應的實體和結構體。程序1:libraryieee;usesampleisport(a,b:ininteger;c:o
9、utinteger);endsample;architectureoneofsampleisbeginc=a+b;endone;程序2:ENTITYsample1isport(a,en:instd_logic;b:outstd_logic);endsample1;architectureoneofsample1isbeginprocess(A,EN)beginifEN=1thenB=A;endif;endprocess;endone;九、程序改錯題(仔細閱讀下列程序后回答問題,12分)1 LIBRARYIEEE;2 USEUSEENTITYgcIS5 PORT(CLK:INSTD_LOGIC;
10、6 Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);7 ENDgc;8 ARCHITECTUREbhvOFgcIS9 SIGNALQ1:RANGE0TO9;10 BEGIN11 PROCESS(clk,Q)12 BEGIN13 IFRISING_EDGE(CLK)THEN14 IFQ11001THEN15 Q1=Q1+1;16 ELSE17 Q10);18 ENDIF;19 ENDIF;20 ENDPROCESS;21 Qout1out1=0;當value取十時ENDCASE;程序段2:ARCHITECTUREbadOFexISSIGNALa_vect:STD_LOGIC_VE
11、CTOR(2DOWNTO0);SIGNALb_vect:STD_LOGIC_VECTOR(3DOWNTO0);BEGIN0&a=b;END;程序段3:IFsel=1THENC=“01”;ELSIFJohn=100THENC=10”;ELSEc=00”;ELSEC=11”;ENDIF;第2題:判斷下列VHDL標識符是否合法,如果有誤則指出原因。(1)_Decoder_1;(2)2FFT;(3)Sig_#N;(4)RyY_RsT_;(5)data_BUS;第3題:下面的賦值語句執行之后矢量a,b將分別得到什么值ARCHITECTURErtlOFexISSIGNALa,b:STD_LOGIC_VEC
12、TOR(4downto0);SIGNALc:STD)LOGIC_VECTOR(0to2);BEGINa0,2=1,4=1,others=b(4);a的第一賦值為0,二四位賦值為1,其他位(0,3位)賦值為b的第四位0,其結果為10100b1,2=0,3=1,others=c(1);b的第0三位賦值為1,第二位賦值為0,其他位(1,4位)賦值為c的第一位0,結果為01001cout1out1NULL;ENDCASE;第2題:ENTITYcase_exISPORT(a:INSTD_LOGIC_VECTOR(4DOWNTO0);q:outSTD_LOGIC_VECTOR(2DOWNTO0);END;
13、ARCHITECTURErtlOFcase_exISBEGINP1:PROCESS(a)BEGINCASEaISWHEN“00000”=qqq=”000”;ENDCASE;ENDPROCESS;END;第3題:IFsel=”11”THENIFtd=1THENC=“01”;ELSIFtd=0THENC=”10”;ELSEcdddd=0;ENDCASE;第2題:IFsel=”01”THENC=“01”;IFsel=”10”THENC=”10”;ELSEc=”00”;ENDIF;第3題:ARCHITECTUREbadOFexISSIGNALa:BIT_VECTOR(2DOWNTO0);SIGNALb
14、:BIT_LOGIC_VECTOR(2DOWNTO1);BEGINaS_outS_out=1;ENDCASE;第2題:ARCHITECTUREbhvOFexISSIGNALa:STD_LOGIC_VECTOR(4DOWNTO0);SIGNALb:STD_LOGIC_VECTOR(0TO4);SIGNALc:STD_LOGIC;BEGINa=”1101”;b(4)=c;b(0TO3)=a(3DOWNTO0);END;IFa=1THENC=111”;ELSIFb=100THENC=110”;ELSEc=010”;ENDIF;ENDIF;十四、VHDLS序改錯:仔細閱讀下列程序,回答問題1LIBRA
15、RYIEEE;2USE4ENTITYCNT10IS5PORT(CLK:INSTD_LOGIC;6 Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);7 ENDCNT10;8 ARCHITECTUREbhvOFCNT10IS9 SIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0);10 BEGIN11 PROCESS(CLK)BEGIN12 IFRISING_EDGE(CLK)begin13 IFQ19THEN14 Q1=Q1+1;15 ELSE16 Q10);17 ENDIF;18 ENDIF;19 ENDPROCESS;20 Q=Q1;21 ENDbhv;1
16、.在MAX+PlusII中編譯時,提示的第一條錯誤為:Error:Line12:Filee:myworktest:VHDLsyntaxerror:IfstatementmusthaveTHEN,butfoundBEGINinstead指出并修改相應行的程序(如果是缺少語句請指出大致的行數):錯誤1行號:程序改為:錯誤2行號:程序改為:2 .若編譯時出現如下錯誤,請分析原因。十五、VHDLS序改錯:本題程序為EDA實驗中的示例程序,仔細閱讀程序,回答問題。1 .對該程序進行編譯時出現錯誤提示:VHDLDesignFileschmustcontainanentityofthesamename.”這
17、是什么原因如何修改2 .修改問題1的錯誤后,如果編譯時出現“CantopenVHDL“WORK”這樣的錯誤提示。這又是什么原因,如何修改libraryieee;-1use-2entityschkis-3port(din,clk,clr:instd_logic;-串行輸入數據位/工作時鐘/復位信號-4ab:outstd_logic_vector(3downto0)-檢測結果輸出-5);-6endschk;-7architecturebhvofschkis-8signalq:integerrange0to8;-9signald:std_logic_vector(7downto0);-8位待檢測預置
18、數-10begin-11d=;-8位待檢測預置數-12process(clk,clr)-13begin-14ifclr=1thenqifdin=d(7)thenq=1;elseqifdin=d(6)thenq=2;elseqifdin=d(5)thenq=3;elseqifdin=d(4)thenq=4;elseqifdin=d(3)thenq=5;elseqifdin=d(2)thenq=6;elseqifdin=d(1)thenq=7;elseqifdin=d(0)thenq=8;elseqq=0;-26endcase;-27endif;-28elseifclkeventandclk=1t
19、hen-16endprocess;-29process(q)-30begin-31ifq=8thenab=1010;-32elseab=1011;-33endif;-34endprocess;-35endbhv;-361.在上述程序代碼中存在兩處錯誤,編譯時出現如下提示,試修改錯誤:Error:Line12:Filef:eda:VHDLsyntaxerror:unexpectedsignaldinConcurrentStatementPartError:Line29:Filef:eda:VHDLsyntaxerror:ifstatementmusthaveENDIF,butfoundPROCE
20、SSinstead錯誤1行號:程序改為:錯誤2行號:程序改為:十六、VHDLS序改錯仔細閱讀下列程序,回答問題-1-3-4-5-6-7-8-9-10-11-12-13-14LIBRARYIEEE;USE-2ENTITYLED7SEGISPORT(A:INSTD_LOGIC_VECTOR(3DOWNTO0);CLK:INSTD_LOGIC;LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0);ENDLED7SEG;ARCHITECTUREoneOFLED7SEGISSIGNALTMP:STD_LOGIC;BEGINSYNC:PROCESS(CLK,A)BEGINIFCLKEVE
21、NTANDCLK=1THENTMPLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7S=1101111;-29ENDCASE;-30ENDPROCESS;-31ENDone;-321. 在程序中存在兩處錯誤,試指出,并說明理由:2. 修改相應行的程序:錯誤1行號:程序改為:錯誤2行號:程序改為:十八、VHDLS序改錯仔細閱讀下列程序,回答問題LIBRARYIEEE;-1USE-2ENTITYLED7SEGIS-3PORT(A:INSTD_LOGIC_VECTOR(3DOWNTO0);-4CLK:INSTD_LOGIC;-5LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0);-6ENDLED7SEG;-7ARCHITECTUREoneOFLED7SEGIS-8SIGNALTMP:STD_LOGIC;-9BEGIN-10SYNC:PROCESS(CLK,A)-11BEGIN-12IFCLKEVENTANDCLK=1THEN-13TMPLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7sLED7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年湖南省下半年監理工程師合同管理竣工結算試題
- 勞務分包合同補充協議范本(4篇)
- 微盟代理商的合同簽訂常見問題解答3篇
- 建筑合同履行風險防范策略分享3篇
- 出版行業加班勞動合同指南3篇
- 電廠消防協議合同范本
- 關于伐木的合同范本
- 山塘清淤施工合同范本
- 股市技術分析工具的應用考題及答案
- 2025年證券從業資格證考試分析與試題及答案
- 湖南省長沙市雨花區2023-2024學年八年級下學期期末考試歷史試題(解析版)
- 空天地一體化算力網絡資源調度機制
- 2024年計算機二級MS Office考試題庫500題(含答案)
- DL∕T 846.11-2016 高電壓測試設備通 用技術條件 第11部分:特高頻局部放電檢測儀
- 心理壓力評分(PSS)問卷表
- CJJT177-2012 氣泡混合輕質土填筑工程技術規程
- (高清版)JTGT 3374-2020 公路瓦斯隧道設計與施工技術規范
- 禁止強迫性勞工管理辦法
- 絕緣電阻測試記錄表(范本)
- 國家開放大學《心理健康教育》形考任務1-9參考答案
- 火力發電廠熱工自動化系統可靠性評估技術導則
評論
0/150
提交評論