1、EDA程序改错题程序改错题1.已知 sel 为 STD_LOGIC_VECTORD(O1 WNT0O) 类型的信号,而 a、b、c、d、q 均为 STD_LOGIC 类型的信号,请判断下面给出的 CASE语句程序片段:CASE sel ISWHE“N 00” =qqqq=d;END CAS;E答案: CASE语句缺“ WHEN OTHER”S语句。2.已知 data_in1, data_in2 为 STD_LOGIC_VECTOR(15 DOWNTO类 0型) 的输入端口, data_out 为 STD_LOGIC_VECTOR(15 DOWNT类O型 0)的输出端口, add_sub为 ST
2、D_LOGIC类 型的输入端口,请判断下面给出的程序片段:LIBRARY IEEE;USE ;ENTITY add ISPORT ( data_in1, data_in2 :IN INTEGER;data_out :OUT INTEGE)R;END add;ARCHTECTURE add_arch OF add ISCONSTANT a:INTEGER;=2BEGINdata_out=( data_in1+ data_in2) * a ;END addsub_arch;答案:常量声明时赋初值的“ =”符号应改用“ := ”符号。3.已知 Q为 STD_LOGIC类型的输出端口,请判断下面的程序
3、片段:ARCHITECTURE test_arch OF test ISBEGINSIGNAL B: STD_LOGI;CQQQ Q Q = 0 ;END CASE;END test ;【参考答案】: CASE语句应该存在于进程 PROCESS内。2 已知 start 为 STD_LOGIC类型的信号, sum 是 INTEGER类型的信号,请判断下面的程序片断: PROCESS (start)BEGINFOR i IN 1 TO 9 LOOPsum := sum + i ;END LOOP;END PROCES;S【参考答案】: sum 是信号,其赋值符号应该由“ : =”改为“ =”。3
4、已知 Q为 STD_LOGIC类型的输出端口,请判断下面的程序片断:ARCHITECTURE test OF test ISBEGINSIGNAL B :STD_LOGIC ;Q = B ;END test ;【参考答案】: 信号 SIGNAL的申明语句应该放在 BEGIN语句之前。4 已知 A和 B 均为 STD_LOGIC类型的信号,请判断下面的语句:A = 0 ;B = x ;【参考答案】: 不定态符号应该由小写的 x改为大写的 X。5 已知 A为 INTEGER类型的信号, B为 STD_LOGIC类型的信号,请判断下面的程序片断:ARCHITECTURE test OF test I
5、SBEGINB q q q q = d ;END CASE;【参考答案】: CASE语句缺“ WHEN OTHE”RS语句。 四、判断下面程序中是否有错误,若有错误请改正;1、 SIGNAL A,EN:STD_LOGIC;PROCESS(A,EN)VARIABLE B:STD_LOGIC;BEGINIF EN= 1 THENB=A;END ;END PROCESS;2、RCHITECTURE ONE OF SAMPLE ISVARIABLE A,B,C:INTEGER;BEGINC=A+B;END ;五、判断下列程序是否有错误,如有则指出错误所在( 10 分) 程序:LIBRARY IEEE;
6、USE zyt12 ISPORT(R,EN,CP: IN bit;Q: BUFFER STD_LOGIC_VECTOR(0 DOWNTO 3);CO: OUT STD_LOGIC);END zyt;ARCHITECTURE c10 OF zyt12BEGINCO=1 WHEN(EN=1 AND Q=1011) ELSE ;0;PROCESS(R,CP)BEGINIF R=1 THENQ=0000;ELSIF (CPEVENT AND CP=1) THENIF EN=0 THENQ=Q;ELSIF Q=1011 THEN Q= 0000 ;ELSEQ:=Q+1;END IF;END PROCES
7、S;END one;仔细阅读下列程序,回答问题LIBRARY IEEE; - 1USE - 2ENTITY LED7SEG IS - 3PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0); - 4CLK : IN STD_LOGIC; - 5LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); - 6END LED7SEG; - 7ARCHITECTURE one OF LED7SEG IS - 8SIGNAL TMP : STD_LOGIC; - 9BEGIN - 10SYNC : PROCESS(CLK, A) - 11BEG
8、IN - 12IF CLKEVENT AND CLK = 1 THEN - 13TMP LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S = 00000001、 LIBRARY IEEE;USEUSEENTITY CNT4B ISPORT (CLK,RST, ENA: IN STD_LOGIC;OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END CNT4B;ARCHITECTURE behav OF CNT4B ISSIGNAL C
9、QI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK, RST, ENA)BEGINIF RST = 1 THEN CQI = 0000;ELSIF CLKEVENT AND CLK = 1 THENIF ENA = 1 THEN CQI = CQI + 1;ELSE CQI = 0000;END IF;OUTY = CQI ;00001END IF;END PROCESS;COUT=CQI(0) AND CQI(1) AND CQI(2) AND CQI(3);END behav;2、 LIBRARY IEEE;USEUSEUSE CLK_6D
10、 ISPORT (CLK,RST: IN STD_LOGIC;CLK_OUT: OUT STD_LOGIC);END CLK_6D;ARCHITECTURE ONE OF CLK_6D ISVARIABLE TEMP:STD_LOGICS; IGNALBEGINPROCESS(CLK)VARIABLE CNT6D: INTEGER RANGE 0 TO 3;CONSTANT SIGN: INTEGER:=2;BEGIN1 , 0IF (RST = “1”) THEN TEMP = “0”ELSIF CLKEVENT AND CLK=1 THEN (CLKEVENT AND CLK=1)IF (CNT6D = SIGN) THENCNT6D := 0;TEMP = NOT TEMP;ELSE CNT6D := CNT6D+1;END IF;END IF;END PROCESS;CLK_OUT = TEMP;END ONE;3、 library ieee;use encoder
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1