
时序信号
-
2023年3月20日发(作者:11段线)-精品-
实验程序:
libraryieee;
_logic_;
entityschkis
port(din,clk,clr:instd_logic;
ab:outstd_logic_vector(3downto0));
endschk;
architectureoneofschkis
signalq:integerrange0to8;
typepis(q0,q1,q2,q3,q4,q5,q6,q7,q8);
signaljk,jn:p;
signald:std_logic_vector(7downto0);
begind<="11100101";
so:process(clk,clr)
begin
ifclr='1'thenjk<=q0;
elsifclk='1'andclk'eventthen
jk<=jn;
endif;
endprocess;
co:process(jk,din)
begin
casejkis
whenq0=>q<=0;
ifdin=d(7)thenjn<=q1;
elsejn<=q0;
endif;
whenq1=>q<=1;
ifdin=d(6)thenjn<=q2;
elsejn<=q0;
endif;
whenq2=>q<=2;
ifdin=d(5)thenjn<=q3;
elsejn<=q0;
endif;
whenq3=>q<=3;
ifdin=d(4)thenjn<=q4;
elsejn<=q0;
endif;
whenq4=>q<=4;
ifdin=d(3)thenjn<=q5;
elsejn<=q0;
endif;
whenq5=>q<=5;
-精品-
ifdin=d(2)thenjn<=q6;
elsejn<=q0;
endif;
whenq6=>q<=6;
ifdin=d(1)thenjn<=q7;
elsejn<=q0;
endif;
whenq7=>q<=7;
ifdin=d(0)thenjn<=q8;
elsejn<=q0;
endif;
whenq8=>q<=8;jn<=q0;
whenothers=>q<=0;jn<=q0;
endcase;
endprocess;
process(q)
begin
ifq=8thenab<="1010";
elseab<="1011";
endif;
endprocess;
endone;
-精品-
状态图