[信息与通信]基于VHDL的数字逻辑设计.pptVIP

  • 2
  • 0
  • 约1.37万字
  • 约 78页
  • 2018-02-27 发布于浙江
  • 举报

[信息与通信]基于VHDL的数字逻辑设计.ppt

[信息与通信]基于VHDL的数字逻辑设计

CASE state IS WHEN s0 = IF (din=‘1’) THEN state = s1; else state=s0; END IF; WHEN s1 = IF (din=‘0’) THEN state = s2; else state=s1; END IF; WHEN s2 = IF (din=‘0’) THEN state=s3; else state=s2; END IF; WHEN s3 = IF (din=‘1’) THEN state = s0; else state=s1; END IF; End Case; End if; End if; End process; op=‘1’ when (state=s1) else 0; END a; S0 S2 0/0 1/0 S3 1/1 S1 1/1 0/0 0/0 0/0 1/1 (2) Mealy型状态机 LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY mealy IS PORT( Clk,reset: IN STD_LOGIC; --clock din: IN STD_LOGIC; op: OUT STD_LOGIC); END mealy; ARCHITECTURE a OF mealy IS TYPE STATE_TYPE IS (s0, s1, s2,s3); SIGNAL state: STATE_TYPE; BEGIN PROCESS (clk,reset) BEGIN If (reset = ‘1’) THEN state = s0; else If (clk‘EVENT AND clk = ’1‘) then CASE state IS WHEN s0 = IF din=‘1’ THEN state = s1; else state=s0; END IF; WHEN s1 = IF din=0 THEN state = s2; else state=s1; END IF; WHEN s2 = IF din=0 THEN state=s3; else state=s2; END IF; WHEN s3 = IF din=1 THEN state = s0; else state=s1; END IF; END CASE; End if; End if; END PROCESS; op=1 when (state=s0 and din=’1’) or (state=s1 and din=’1’) or (state=s3 and din=’1’) else 0; --输出不仅与状态有关,而且和输入有关。 END a; 序列检测器 检测序列:110010 序列检测器 CLK ID D S0 S1 0/0 1/0 0/0 S2 S3 S4 S5 1/0 1/0 0/0 0/0 1/0 1/0 0/0 1/0 0/1 三、VHDL设计规范 1. 文件头和修订列表 文件头包含以下内容: ·模块名 ·文件名 ·需要的库 ·模块描述 ·使用的仿真器——其运行平台和版本 ·使用的综合工具,其运行平台和版本 ·作者名字和e-mail 修订列表包含以下内容: ·修订版本号 ·改动的数据 ·修订者名字和e-mail ·改动的详细描述 三、VHDL设计规范 ---------------

文档评论(0)

1亿VIP精品文档

相关文档