序列检测器的设计实验报告.docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA实验报告书
10.;
仿真波形
图
9k ∣*
也Iq
12» Uf I D [M B Q IFl Dm 3 0 1TΞ EI
a O 6
Q
9 O 5
灯
£ 5T.
∣30 0 BL 14£ Q u
Il
■ _______
E
NaSlaTrKBaf
A
18.1 牖 ψ∣Poi⅝g:
⅛35ns IntefYat 225.⅛ ⅛t
EDt
∣∙r
dt⅛
H
f 吐血 J fst⅛t IipLl
JJ AJEpitL
IJ
FEStL
)n 虹冲 湖卩幅 M^S ≡i Qω W -Q 55
«■QM 5K.I 0M WOflM 73jpħt
lΓΠi
ΓTΞΓTLΞΓTΞΓTΞπ
Γ^LΓ^LΓ^LΓ~LΓ^L
自侧h.9) f ⅛⅛L 吐皂乩J : £壮自协.更:±ls⅛■鱼
L ;fslt⅛書X &1川克5£ \自^⅛h.S? ] fst⅞⅛.S8 (住1吐赳创):fst⅛t!.E
WHEN OTHERS => NST <= StO; END CASE ; END PROCESS;
REG: PROCESS (CLK,RST)
BEGIN
IF RST='1' THEN ST<=sO;
ELSIF ( CLK'EVENT AND CLK='1') THEN ST<=NST;
END IF;
END PROCESS REG; SOUT<='1'WHEN ST=s8 ELSE '0'; END behav;
Φ>B⅛ Wil⅞∣v≠J
l≠0 Γ7
LlBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY SM1 IS
PoRT (
clock : IN STD_LOGIC; reset : IN STD_LOGIC := '0';
in put1 : IN STD_LOGIC := '0';
in put2 : IN STD_LOGIC := '0';
OUtPUtI : OUT STD_LOGIC
);
END SM1;
ARCHITECTURE BEHA VIOR OF SM1 IS
实验结果
TYPE type_fstate IS (st1,st2,st3,st4,st5,st6,st7,st8,stθ);
SIGNAL fstate : type_fstate;
SIGNAL reg_fstate : type_fstate;
BEGIN
PROCESS (CIoCk,reset,reg_fstate)
BEGIN
IF (reset='1') THEN
fstate <= st1;
ELSIF (clock='1' AND clock'event) THEN
fstate <= reg_fstate;
END IF;
END PROCESS;
PROCESS (fstate,i nput1,i nput2)
BEGIN
OUtPUtI <= '0';
CASE fstate IS
WHEN st1 =>
IF (((i nput1 = '1') AND (in put2 = '1'))) THEN reg_fstate <= st2;
ELSE
reg_fstate <= st0;
END IF;
OUtPUtI <= '0';
WHEN st2 =>
IF (((i nput1 = '1') AND (in put2 = '1'))) THEN reg_fstate <= st3;
ELSE reg_fstate <= st0;
END IF;
OUtPUtI <= '0';
WHEN st3 =>
IF (((i nput1 = '1') AND (in put2 = '1'))) THEN reg_fstate <= st4;
ELSE reg_fstate <= st0;
END IF;
OUtPUtI <= '0';
WHEN st4 =>
IF (((i nput1 = '1') AND (in put2 = '1'))) THEN reg_fstate <= st5;
ELSE reg_fstate <= st0;
END IF;
OUtPUtI <= '0';
WHEN st5 =>
IF (((i nput1 = '1') AND (in put2 = '1'))) THEN reg_fstate <= st6;
ELSE reg_fstate <= st0;
END IF;
OUtPUtI <= '0';
WHEN st6 =>
IF (((i nput1 = '1') AND (in put2 = '1'))) THEN reg_fstate <= st7;
ELSE reg_fstate <= st0;
END IF;
OUtPUtI <= '0';
WHEN st7 =>
IF (((i nput1 = '1') AND (in put2 = '1'))) THEN reg_fstate <= st8;
ELSE reg_fstate <= st0;
END IF;
OUtPUtI <= '0';
WHEN st8 =>