状态机考卷练习
更新时间:2023-11-05 05:11:01 阅读量: 综合文库 文档下载
- 三段式状态机推荐度:
- 相关推荐
七、综合题:(20分)
(一)已知状态机状态图如图a所示;完成下列各题:
in_a = “00”in_a = “01”st0out_a <= “0101”;in_a /= “00”st1out_a <= “1000”;in_a = “11”in_a /= “11”in_a /= “01”st3out_a <= “1101”;in_a /= “11”st2out_a <= “1100”;in_a = “11”
图a 状态图
clkresetc_stateREGn_stateCOMout_ain_a图b 状态机结构图
1. 试判断该状态机类型,并说明理由。 该状态机为moore型状态机,输出数据outa和输入ina没有直接逻辑关系,outa是时钟clk的同步时序逻辑。
2. 根据状态图,写出对应于结构图b,分别由主控组合进程和主控时序进程组成的VHDL有限状
态机描述。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY MOOREB IS
PORT (CLK, RESET : IN STD_LOGIC;
INA : IN STD_LOGIC_VECTOR (1 DOWNTO 0); OUTA : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ); END MOOREB;
ARCHITECTURE ONE OF MOOREB IS
TYPE MS_STATE IS (ST0, ST1, ST2, ST3); SIGNAL C_ST, N_ST : MS_STATE; BEGIN
PROCESS (CLK, RESET) BEGIN
IF RESET = ?1? THEN C_ST <= ST0;
ELSIF CLK?EVENT AND CLK = ?1? THEN C_ST <= N_ST;
END IF;
END PROCESS; PROCESS (C_ST) BEGIN
CASE C_ST IS
WHEN ST0 => IF INA = “00” THEN N_ST <= ST0; ELSE N_ST <= ST1; END IF;
OUTA <= “0101”;
WHEN ST1 => IF INA = “00” THEN N_ST <= ST1; ELSE N_ST <= ST2; END IF;
OUTA <= “1000”;
WHEN ST2 => IF INA = “11” THEN N_ST <= ST0; ELSE N_ST <= ST3; END IF;
OUTA <= “1100”;
WHEN ST3 => IF INA = “11” THEN N_ST <= ST3; ELSE N_ST <= ST0; END IF;
OUTA <= “1101”;
WHEN OTHERS => N_ST <= ST0; END CASE; END PROCESS;
END ONE;
3. 若已知输入信号如下图所示,分析状态机的工作时序,画出该状态机的状态转换值(c_state)
和输出控制信号(out_a);
4. 若状态机仿真过程中出现毛刺现象,应如何消除;试指出两种方法,并简单说明其原理。
方法1,添加辅助进程对输出数据进行锁存
方法2,将双进程状态机改写为单进程状态机,其输出也是锁存过了,故能消除毛刺
方法3,使用状态位直接输出型状态机编码方式,其输出直接由当前状态输出,也没有毛刺
七、综合题:(20分)
根据如下所示状态图及其状态机结构图,回答问题
ina=\ ina=\ ina=\ ina /= \S0 S1 ina=\ ina=\ ina=\ outa=\ outa=\ ina=\ ina=\ S2 ina /= “011” S3 (a) CLK RESET CLK RESET ina FSM outa ina REG SIGNAL1 SIGNAL2 COM outa (b) (c) 1.试判断该状态机类型,并说明理由。
改状态机可以为mealy型状态机,当输入ina变化时可影响输出outa立即变化 2.请问如何消除状态机输出信号毛刺?试列出至少两种方法,并说明理由。 方法1,添加辅助进程对输出数据进行锁存
方法2,将双进程状态机改写为单进程状态机,其输出也是锁存过了,故能消除毛刺 方法3,使用状态位直接输出型状态机编码方式,其输出直接由当前状态输出,也没有毛刺 3.试由b、c两图中任选一图写出其完整的VHDL程序。 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY EX7 IS
PORT ( CLK, RESET : IN STD_LOGIC; INA : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
OUTA
: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );
END EX7;
-- MOORE型状态机
ARCHITECTURE ONE OF EX7 IS TYPE STATE IS (S0, S1, S2, S3);
SIGNAL C_ST : STATE;
BEGIN PROCESS (CLK, RESET, INA) BEGIN IF RESET = '1' THEN C_ST <= S0; OUTA <= (OTHERS => '0'); ELSIF RISING_EDGE(CLK) THEN
CASE C_ST IS
WHEN S0 => IF INA = \ <= \
ELSIF INA = \ <= \C_ST <= S1;
ELSIF INA = \OUTA <= \
END IF;
WHEN S1 => IF INA = \
END IF;
WHEN S2 => IF INA = \ ELSIF INA = \
OUTA <= \
ELSE C_ST <= S3;END
IF;
WHEN S3 => IF INA = \ <= \ ELSIF INA = \ <= \ C_ST <= S3; WHEN OTHERS => C_ST <= S0;
END IF;
OUTA <= (OTHERS => '0');
END CASE;
END IF;
END PROCESS; END ONE;
-- MEALY型状态机
ARCHITECTURE TWO OF EX7 IS TYPE STATE IS (S0, S1, S2, S3); SIGNAL C_ST, N_ST : STATE; BEGIN
REG : PROCESS (CLK, RESET) BEGIN
IF RESET = '1' THEN C_ST <= S0;
ELSIF CLK'EVENT AND CLK = '1' THEN C_ST <= N_ST;END IF;
END PROCESS;
COM : PROCESS (C_ST, INA) BEGIN
CASE C_ST IS WHEN S0 => N_ST <= S1;
IF INA = \ <= \
ELSE
OUTA
<=
ELSIF INA = \ <= \
\
WHEN S1 => OUTA <= \IF INA = \
ELSIF INA = \ELSE N_ST <= S1;END IF;
WHEN S2 => OUTA <= \IF INA = \
ELSIF INA = \ELSE N_ST <= S3;END IF; WHEN S3 => IF INA = \ <= \ ELSIF INA = \ <= \ELSE OUTA <=
\
N_ST <= S3; WHEN OTHERS => N_ST <= S0; END CASE; END PROCESS;
OUTA <= (OTHERS => '0');
END TWO;
(二) 已知一个简单的波形发生器的数字部分系统框图如下图所示
图中lcnt、lrom都是在MAX+PlusII中使用MegaWizard调用的LPM模块,其VHDL描述中Entity部分分别如下: ENTITY lcnt IS PORT ( clock q ); : IN STD_LOGIC ; : OUT STD_LOGIC_VECTOR (9 DOWNTO 0) END lcnt; ENTITY lrom IS PORT ( address : IN STD_LOGIC_VECTOR (9 DOWNTO 0); q : OUT STD_LOGIC_VECTOR (9 DOWNTO 0) ); END lrom;
试用VHDL描述该系统的顶层设计(使用例化语句)。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY MYSG IS
PORT (CLK : IN STD_LOGIC;
TO_DA : OUT STD_LOGIC_VECTOR (9 DOWNTO 0) ); END MYSQ;
ARCHITECTURE ONE OF MYSQ IS
SIGNAL ADDR : STD_LOGIC_VECTOR (9 DOWNTO 0);
COMPONENT LCNT
PORT (CLOCK : IN STD_LOGIC;
Q : OUT STD_LOGIC_VECTOR (9 DOWNTO 0) ); END COMPONENT; COMPONENT LROM
PORT (ADDRESS : IN STD_LOGIC_VECTOR (9 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR (9 DOWNTO 0) ); END COMPONENT; BEGIN
U1 : LCNT PORT MAP (CLOCK => CLK, Q => ADDR);
U2 : LROM PORT MAP (ADDRESS => ADDR, Q => TO_DA);
END ONE;
正在阅读:
状态机考卷练习11-05
学习教师法律法规的心得体会12-19
铜仁市城市规划管理技术规定2015(实施版) - 图文04-19
荣与辱话题作文01-03
中学生最容易用错的成语250个01-24
土木工程专业英语外文翻译11-25
2017-2018年沪教版语文小学五年级上册《穿越维也纳森林》公开课学案第一课时06-11
2019第四节有机合成 逆合成分析法语文01-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 考卷
- 练习
- 状态
- 电大建筑制图基础试题以及答案
- 黑龙江国家税务局系统2011年拟录用公务员公示 - 图文
- 三年级甘教版心理健康教育教案上(1)
- 南京市规划局建设工程设计方案自审表
- 常吃苹果可抵抗七种疾病
- 2015造价案例真题 - 图文
- 2012年上海静安区英语中考一模试题及答案
- 江苏省教育科研先进个人名单
- ArcGIS栅格自动矢量化
- 北京2018年中考数学复习专题突破8代数综合
- PLC高级
- 物权立法:采纳物权还是财产权(王利明)
- C#前3章练习题参考答案(2)
- 《汽车机械基础》试题库
- 单位(子单位)工程质量竣工验收记录-市政工程
- 把谷歌地图改成CAD图
- 怎样设计“田间药效试验”试验的方案与计划?
- ATV历年电视剧列表
- Pdf拼版教程
- 小学数学西南师大版 六年级下册第五单元第8课《鸡兔同笼》优质课公开课教案教师资格证面试试讲教案