当前位置:首页 >> 工学 >>

状态机及其VHDL设计


第7章

状态机及其 VHDL 设计

内容提要: 内容提要:有限状态机(Finite State Machine,简称 FSM)是一类很重要的时序电路, 是许多数字系统的核心部件,也是实时系统设计中的一种数学模型,是一种重要的、易于建 立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于从系统分析到设计 的所有阶段。有限状态机的优点在于简单易用,状态间的关系清晰直观。建立有限状态机主 要有两种方法: “状态转移图”和“状态转移表” 。标准状态机通常可分为 Moore 和 Mealy 两种类型。本章主要介绍了基于 VHDL 的常见有限状态机的类型、结构、功能及表达方法, 重点是如何有效地设计与实现。 学习要求:了解状态机的基本结构、功能和分类,掌握有限状态机的一般设计思路与方 学习要求: 法、状态机编码方案的恰当选取、Moore 和 Mealy 状态机的本质区别及设计实现。 关 键 词:状态机(State Machine),Moore,Mealy,VHDL 设计(VHDL Design) 7.1 状态机的基本结构和功能 7.2 一般状态机的 VHDL 设计 7.2.1 状态机的一般组成 7.2.2 状态机的编码方案 7.3 摩尔状态机的 VHDL 设计 7.4 米立状态机的 VHDL 设计

7.1 状态机的基本结构和功能
状态机的基本结构如图 7.1 所示。除了输人信号、输出信号外,状态机还包含一组寄存 器记忆状态机的内部状态。状态机寄存器的下一个状态及输出,不仅同输入信号有关,而且 还与寄存器的当前状态有关, 状态机可以认为是组合逻辑和寄存器逻辑的特殊组合。 它包括 两个主要部分: 即组合逻辑部分和寄存器。 组合逻辑部分又可分为状态译码器和输出译码器, 状态译码器确定状态机的下一个状态, 即确定状态机的激励方程, 输出译码器确定状态机的 输出,即确定状态机的输出方程。寄存器用于存储状态机的内部状态。

输入

状态 状态 译码器 状态 寄存器

输出

图 7.1 状态机的基本结构 状态机的基本操作有两种: 1.状态机的内部状态转换。 状态机经历一系列状态,下一状态由状态译码器根据当前状态和输入条件决定。 2.产生输出信号序列。 输出信号由输出译码器根据当前状态和输入条件确定。 用输入信号决定下一状态也称为“转移” 。除了转移之外,复杂的状态机还具有重复和 历程功能。 从一个状态转移到另一状态称为控制定序, 而决定下一状态所需的逻辑称为转移 函数。 在产生输出的过程中, 根据是否使用输入信号可以确定状态机的类型。 两种典型的状态

机是米立(Mealy) 状态机和摩尔 (Moore)状态机。 摩尔状态机的输出只是当前状态的函数, 而米立状态机的输出一般是当前状态和输入信号的函数。 对于这两类状态机, 控制定序都取 决于当前状态和输入信号。 大多数实用的状态机都是同步的时序电路, 由时钟信号触发进行 状态的转换。 时钟信号同所有的边沿触发的状态寄存器和输出寄存器相连, 使状态的改变发 生在时钟的上升或下降沿。 在数字系统中.那些输出取决于过去的输入和当前的输入的部分都可以作为有限状态 机。有限状态机的全部“历史”都反映在当前状态上。当给 FSM 一个新的输入时,它就会产 生一个输出。输出由当前状态和输入共同决定,同时 FSM 也会转移到下一个新状态,也是随 着 FSM 的当前状态和输入而定。FSM 中,其内部状态存放在寄存器中,下一状态的值由状态 译码器中的一个组合逻辑——转移函数产生, 状态机的输出由另一个组合逻辑——输出函数 产生。 建立有限状态机主要有两种方法:状态转移图(状态图)和状态转移表(状态表) 。它 们是等价的,相互之间可以转换。 状态转移图 如图 7.2 所示, 图中每个椭圆表示状态机的一个状态, 而箭头表示状态之 间的一个转换,引起转换的输入信号及当前输出表示在转换箭头上。 摩尔状态机和米立状态机的表示方法不同,摩尔状态机的状态译码输出写在状态圈内, 米立状态机的状态译码输出写在箭头旁,如图 7.3 所示。 状态 A 输入/出 输入/出 状态 C 输入/出 状态 B 输入/出 状态 E 输入/出 状态 D 输入/出 图 7.3 摩尔和米立状态机

图 7.2 状态转移图 状态 A 00 状态 A I/01 状态 B

状态 B 01

如果能够写出 FSM 的状态转移图,就可以使用 VHDL 的状态机语句对它进行描述。 状态转移表 形式如表 7.1 所示。 表中的行列出了全部可能的输入信号组合和内部状态 以及相应的次状态和输出,因此状态表规定了状态机的转换函数和输出函数。然而,状态表 不适合具有大量输入的系统,因为随着输入的增加其状态数和系统的复杂性会显著增加。 表 7.1 状态转移表 现态 输入 次态 输出 S0-Sn I0-Im S0-Sn Q0-QP 状态转移图、 状态转移表这两种有限状态机的建立方法是等价的, 都描述了同一硬件结 构,它们可以相互转换,但各有优缺点,分别适合于不同场合。

7.2 一般状态机的 VHDL 设计
7.2.1 状态机的一般组成
用 VHDL 设计有限状态机方法有多种, 但最一般和最常用的状态机设计通常包括说明部 分,主控时序部分,主控组合部分和辅助进程部分。 1) 说明部分 说明部分中使用 TYPE 语句定义新的数据类型,此数据类型为枚举型,其元素通常都用 状态机的状态名来定义。状态变量定义为信号,便于信息传递,并将状态变量的数据类型定 义为含有既定状态元素的新定义的数据类型。说明部分一般放在结构体的 ARCHITECTURE 和 BEGIN 之间。 2) 主控时序进程 是指负责状态机运转和在时钟驱动正负现状态机转换的进程。 状态机随外部时钟信号以 同步方式工作,当时钟的有效跳变到来时,时序进程将代表次态的信号 next_state 中的内 容送入现态信号 current_state 中,而 next_state 中的内容完全由其他进程根据实际情况 而定,此进程中往往也包括一些清零或置位的控制信号。 3) 主控组合进程 根据外部输入的控制信号 (包括来自外部的和状态机内容的非主控进程的信号) (和) 或 当前状态值确定下一状态 next_state 的取值内容,以及对外或对内部其他进程输出控制信 号的内容。 4) 辅助进程 用于配合状态机工作的组合、时序进程或配合状态机工作的其他时序进程。 在一般状态机的设计过程中,为了能获得可综合的,高效的 VHDL 状态机描述,建议使 用枚举类数据类型来定义状态机的状态, 并使用多进程方式来描述状态机的内部逻辑。 例如 可使用两个进程来描述, —个进程描述时序逻辑, 包括状态寄存器的工作和寄存器状态的输 出,另一个进程描述组合逻辑,包括进程间状态值的传递逻辑以及状态转换值的输出。必要 时还可以引入第三个进程完成其它的逻辑功能。 下例描述的状态机由两个主控进程构成,其中进程 REG 为主控时序进程,COM 为主控组 合进程。 [例 7.1] LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY s_machine IS PORT (clk, reset: IN STD_LOGIC; State_inputs: IN STD_LOGIC_VECTOR(0 TO 1); comb_outputs: OUT STD_LOGIC_VECTOR(0 TO 1)); END ENTITY s_machine; ARCHITECTURE behv OF s_machine IS TYPE states IS (st0,st1,st2,st3);--定义 states 为枚举型数据类型 SIGNAL current_state, next_state : states; BEGIN REG: PROCESS (reset, clk) --时序逻辑进程 BEGIN IF reset='1' THEN --异步复位 Current_state<=st0; ELSIF clk='1' AND clk'EVENT THEN

current_state<=next_state; --当检测到时钟上升沿时转换至下一状态 END IF; END PROCESS; --由信号 current_state 将当前状态值带出此进程,进入进程 COM COM: PROCESS(current_state, state_Inputs) --组合逻辑进程 BEGIN CASE current_state IS -- 确定当前状态的状态值 WHEN st0 =>comb_outputs <= "00"; --初始状态译码输出"00" IF state_inputs="00" THEN --根据外部的状态控制输入"00" next_state<=st0; --在下一时钟后,进程 REG 的状态将维持为 st0 ELSE next_state<=st1; --否则,在下一时钟后,进程 REG 的状态将为 st1 END IF; WHEN st1=> comb_outputs<="01"; --对应状态 st1 的译码输出"01" IF state_inputs="00" THEN --根据外部的状态控制输人"00" next_state<=st1; --在下一时钟后,进程 REG 的状态将维持为 st1 ELSE next_state<=st2; -- 否则,在下一时钟后,进程 REG 的状态将为 st2 END IF; WHEN st2=> comb_outputs<="10"; --以下依次类推 IF state_inputs="11" THEN next_state<=st2; ELSE next_state<=st3; END IF; WHEN st3=>comb_outputs<="11"; IF state_inputs="11" THEN next_state<=st3; ELSE next_state<=st0; END IF; END CASE; END PROCESS; END ARCHITECTURE behv; 图 7.4 为上述状态机的工作时序图。reset 为异步复位信号,低电平有效,而 clk 为上 升沿有效。如在第 3 个脉冲上升沿到来时 current_state=“st0” ,state_inputs=“01” , 输出 comb_outputs= “01” 第 4 个脉冲上升沿到来时 current_state= 。 “st1” state_inputs , =“00” ,输出 comb_outputs=“01” 。综合后的 RTL 图如图 7.5 所示。

图 7.4 例 7.1 状态机的工作时序图

图 7.5 例 7.1 状态机的 RTL 图 一般来说,程序的不同进程间是并行运行的,但由于敏感信号设置的不同和电路的延 迟,在时序上进程间的动作是有先后的。如对上例中的状态转换行为来说,有进程 REG 和 COM,它们的敏感信号表分别为(reset,clk)和(current_state,state_inputs) ,在 clk 上升沿到来时,进程 REG 将首先运行,完成状态转换的赋值操作。如果外部控制信号 state_inputs 不变,只有当来自进程 REG 的信号 current_state 改变时,进程 COM 才开始 动作,并将根据 current_state 和 state_inputs 的值来决定下一有效时钟沿到来后,进程 REG 的状态转换方向。 这个状态机的两位组合逻辑输出 comb_outputs 是对当前状态的译码。 我们可以通过这个输出值来了解状态机内部的运行情况,同时还可以利用外部控制信号 state_inputs 任意改变状态机的状态变化模式。 注意:在上例中,有两个信号起到了互反馈的作用,完成了两个进程间的信息传递的 功能, 这两个信号分别是 current_state 〔进程 REG->进程 COM)和 next_state(进程 COM-> 进程 REG)。 在 VHDL 中可以有两种方式来创建反馈机制:即使用信号的方式和使用变量的方式。通 常倾向于使用信号的方式(如例 7.1) 。一般而言,在进程中使用变量传递数据,然后使用 信号将数据带出进程。在设计过程中,如果希望输出的信号具有寄存器锁存功能,则需要为 此输出写第 3 个进程, 并把 clk 和 reset 信号放入敏感信号表中。 但必须注意避免由于寄存 器的引入而创建了不必要的异步反馈路径。根据 VHDL 综合器的规则,对于所有可能的输入 条件,如果进程中的输出信号没有被明确的赋值时,此信号将自动被指定,即在未列出的条 件下保持原值,这就意味着引入了寄存器。因此,我们在程序的综合过程中,应密切注意 VHDL 综合器给出的警告信息,并根据警告信息对程序作必要的修改。 一般来说,利用状态机进行设计有如下几个步骤: (1) 分析设计要求,列出状态机的全部可能状态,并对每一个状态进行编码。 (2) 根据状态转移关系和输出函数画出状态转移图。 (3) 由状态转移图,用 VHDL 语句对状态机描述。

7.2.2 状态机的编码方案
在状态机的编码方案中,有两种重要的编码方法:二进制编码和一位热码(One—Hot) 编码。

在二进制编码的状态机中,状态位(B)与状态(S)的数目之间的关系为 B=log2 ,如两位 状态位就有 00,01,10,11 四个不同状态,它们在不同的控制信号下可以进行状态转换, 但如果各触发器又没有准确地同时改变其输出值, 那么在状态 01 变到 10 时则会出现暂时的 11 或 00 状态输出,这类险象可能使整个系统造成不可预测的结果。这时,采用格雷码二进 制编码是特别有益,在该编码方案中,每次仅一个状态位的值发生变化。 一位热码编码就是用 n 个触发器来实现 n 个状态的编码方式, 状态机中的每一个状态都 由其中一个触发器的状态来表示。 4 个状态的状态机需 4 个触发器, 如 同一时间仅一个状态 位处于逻辑 1 电平,四个状态分别为:0001、0010、0100、1000。 在实际应用中, 根据状态机的复杂程度、 所使用的器件系列和从非法状态退出所需的条 件来选择最适合的编码方案,使之能确保高效的性能和资源的利用。 对复杂的状态机, 二进制编码需用的触发器的数目比一位热码编码的少。 100 个状态 如 的状态机按二进制编码仅用 7 个触发器就可以实现,而一位热码编码则要求 100 个触发器。 另一方面,虽然一位热码编码要求用较多的触发器,但逻辑上通常相对简单些。在二进制编 码的状态机中, 控制从一个状态转换到另一个状态的逻辑与所有 7 个状态位以及状态机的输 入均有关。这类逻辑通常要求到状态位输入的函数是多输入变量的。然而,在一热恋位编码 的状态机中,到状态位的输入常常是其它状态位的简单函数。 站在器件结构的角度,不同结构支持其确定的编码类型。MAX+plus II 编译程序对所采 用的器件系列自动地选择最合适的编码方法(除非在设计文件中规定了具体的编码方案) 。 例如,FLEX 7000 器件系列是寄存器增强型(Register-intensive) ,以这类器件为对象的 状态机最好选用一位热码编码方案来实现。 由于一位热码编码的状态机降低了送到每一个状 态位的逻辑电路的复杂程度,因而可提高用 FLEX 7000 器件实现的状态机的性能。MAX 5000 和 MAX 7000 器件系列最适合二进制状态机编码方案。这两类器件都能够利用共享和并联的 扩展乘积项有效地实现复杂的逻辑函数。因此,在这两类器件小,可以容纳复杂的组合逻辑 函数而不会浪费资源或损失性能。 另外,在选择编码方案时,必须考虑状态机可能进入的潜在的非法状态的数目。如果违 反了状态位触发器的建立或保持时间, 又没有定义所有可能出现的状态, 则你的设计会终止 在非法状态上。MAX+plus II 设计进入方法允许你定义非法状态和规定你的状态机如何从非 法状态中退出。例如,用二进制编码实现一个 14 个状态的状态机需 4 个状态位。这将有 16 个可能的状态, 故该状态机仅有两个可能的状态是非法状态。 然而一位热码编码的状态机通 常有更多的潜在的非法状态。14 个状态的一位热码编码的状态机需要 14 个状态。一位热码 n 编码的状态机的非法状态数目由方程式(2 -n)确定,其中 n 为状态机的状态个数。因此, 一位热码编码的 14 位状态共有 16370 个可能的非法状态。然而,只要设计中不违反状态位 触发器的建立和保持时间,状态机将不会进入非法状态。

S

7.3 摩尔状态机的 VHDL 设计
摩尔有限状态机输出只与当前状态有关, 与输入信号的当前值无关, 是严格的现态函数。 在时钟脉冲的有效边沿作用后的有限个门延后, 输出达到稳定值。 即使在时钟周期内输入信 号发生变化, 输出也会保持稳定不变。 从时序上看, Moore 状态机属于同步输出状态机。 Moore 有限状态机最重要的特点就是将输入与输出信号隔离开来。例 7.2 就是一个典型的 Moore 型状态机实例。 状态机的状态图如图 7.6 所示。 S1
0001

1

S2
0010

0 S4
1000

0 1 S3
0100

图 7.6 Moore 状态机的状态图

[例 7.2] LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY moore IS PORT ( clk, datain, reset : IN std_logic; dataout : OUT std_logic_vector (3 DOWNTO 0)); END ENTITY moore; ARCHITECTURE arc OF moore IS TYPE state_type IS (s1, s2, s3, s4); SIGNAL state: state_type; BEGIN state_process: PROCESS (clk, reset) --时序逻辑进程 BEGIN IF reset='1' THEN --异步复位 state<=s1; ELSIF clk'event and clk='1' THEN --当检测到时钟上升沿时执行 CASE 语句 CASE state IS WHEN S1=>IF datain='1' THEN state<=s2; END IF; WHEN s2=>IF datain='0' THEN state<=s3; END IF; WHEN s3=>IF datain='1' THEN state <=s4; END IF; WHEN s4=>IF datain='0' THEN state <=s1; END IF; END CASE; END IF; END PROCESS; --由信号 state 将当前状态值带出此进程,进入进程 output_p output_p : PROCESS (state) --组合逻辑进程 BEGIN CASE state IS -- 确定当前状态值 WHEN s1=>dataout<="0001"; --对应状态 s1 的数据输出为"0001" WHEN s2=>dataout<="0010"; WHEN s3=>dataout<="0100"; WHEN s4=>dataout<="1000"; END CASE; END PROCESS; END ARCHITECTUR arc; 上例的 VHDL 描述中包含了两个进程:state_process 和 output_p,分别为时序逻辑进 程和组合逻辑进程。图 7.7 是例 7.2 的工作时序图,由图可见,状态机在异步复位信号后 state=s1,在第 500ns 有效上升时钟沿到来时,state=s1,datain=1,从而 state 由 s1 转

换为 s2,输出 dataout=0010,即使在 500ns 后的一个时钟周期内输入信号发生变化,输出 也会维持稳定不变。综合后的结果见图 7.8 所示。

图 7.7 Moore 的工作时序图

图 7.8 Moore 的 RTL 图

7.4 米立状态机的 VHDL 设计
Mealy 状态机的输出是现态和所有输入的函数,随输入变化而随时发生变化。从时序上 看,Mealy 状态机属于异步输出状态机,它不依赖于时钟,但 Mealy 状态机和 Moore 状态机 的设计基本上相同。例 7.2 就是一个典型的 Mealy 型状态机实例。 状态机的状态图如图 7.9 所示。 0/0000 0/1000 1/0001 S4 1/0100 1/0001 1/0001

S1

S2

0/0010 S3 0/0001

图 7.9 Moore 状态机的状态图 例[7.3] LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY mealy IS PORT ( clk, datain, reset : IN std_logic; dataout : OUT std_logic_vector (3 DOWNTO 0)); END ENTITY mealy; ARCHITECTURE arc OF mealy IS TYPE state_type IS (s1, s2, s3, s4); SIGNAL state : state_type; BEGIN state_process : PROCESS (clk, reset) BEGIN IF reset='1' THEN --异步复位

--时序逻辑进程

state<=s1; ELSIF clk'event and clk='1' THEN --当检测到时钟上升沿时执行 CASE 语句 CASE state IS WHEN S1=>IF datain='1' THEN state<=s2; END IF; WHEN s2=>IF datain='0' THEN state<=s3; END IF; WHEN s3=>IF datain='1' THEN state <=s4; END IF; WHEN s4=>IF datain='0' THEN state <=s1; END IF; END CASE; END IF; END PROCESS; output_p : PROCESS (state) --组合逻辑进程 BEGIN CASE state IS -- 确定当前状态值 WHEN s1=> IF datain='1' THEN dataout<="0001"; ELSE dataout<="0000"; END IF; WHEN s2=> IF datain='0' THEN dataout<="0010"; ELSE dataout<="0001"; END IF; WHEN s3=> IF datain='1' THEN dataout<="0100"; ELSE dataout<="0001"; END IF; WHEN s4=> IF datain='0' THEN dataout<="1000"; ELSE dataout<="0001"; END IF; END CASE; END PROCESS; END ARCHITECTURE arc; 上例的 VHDL 描述中包含了两个进程:state_process 和 output_p,分别为主控时序逻 辑进程和组合逻辑进程。图 7.10 是例 7.3 的工作时序图,由图可见,状态机在异步复位信 号来到时,datain=1,输出 dataout=0001,在 clk 的有效上升沿来到前,datain 发生了变 化,由 1->0,输出 dataout 随即发生变化,由 0000->0001,反映了 Mealy 状态机属于异 步输出状态机而它不依赖于时钟的鲜明特点。综合后的结果见图 7.11 所示。 Mealy 状态机的 VHDL 结构要求至少有两个进程,或者是一个状态机进程加一个独立的 并行贩值语句。

图 7.10 Mealy 的工作时序图

图 7.11

Mealy 的 RTL 图


相关文章:
状态机及其VHDL设计.doc
状态机及其VHDL设计 - 同步状态机的原理、结构和设计同步状态机的原理、结构和设计... 状态机及其VHDL设计_IT/计算机_专业资料。同步状态机的原理、结构和设计同步状...
第四章 状态机及其VHDL设计_图文.ppt
第四章 状态机及其VHDL设计 - 第四章 状态机及其VHDL设计 有限状态机(
状态机及其VHDL设计.doc
状态机及其VHDL设计 - 第7章 状态机及其 VHDL 设计 内容提要: 内容
VHDL状态机的设计.doc
VHDL状态机设计 - 状态机电路设计 状态机(STATE MACHINE)可以说是一个广义时序电路,触发器, 计数器,移位寄存器都算是它的特殊功能的一种.在电子设计自动化 ...
6VHDL状态机设计.pdf
6VHDL状态机设计_计算机软件及应用_IT/计算机_专业资料。CPLD主要内容 6 VHDL 状态机设计 ? 基本概念 ? 状态转移图 ? 状态机编码 ? 一般有限状态机设计 ? ...
第二部分 状态机的VHDL设计.ppt
第二部分 状态机VHDL设计_电子/电路_工程科技_专业资料。有限状态机的VHDL...这种输出与状态及输入皆有 关系者,称为Mealy状态机. 程序实现功能如下: ...
VHDLFPGA状态机.doc
VHDLFPGA状态机_计算机硬件及网络_IT/计算机_专业资料。《VHDL 与数字系统设计》课程设计报告 ( 2014 -- 2015 年度第 1 学期) 名题院班学 称: VHDL 与数字...
第八讲 状态机的VHDL设计_图文.ppt
第八讲 状态机VHDL设计 - 第八讲 状态机VHDL设计 教学课时:3学时 教学内容: 1、状态机概述 2、状态机的结构(1学时) 3、 状态机VHDL设计方法举例(1...
状态机VHDL讲解.doc
状态机VHDL讲解 - VHDL 的结构非常适合编写状态机, 而且编写方式不唯一, 电路的集成也会随着编写的方式 而改变。状态机设计主要用到 case when 和 if else ...
C8-1-VHDL状态机(1)_图文.ppt
C8-1-VHDL状态机(1) - EDA技术与VHDL VHDL状态机(1) 前文回顾 VHDL的结构: 库、程序包 狭义 子程序: 函数、过程等 实体 数据对象 数据类型 广结...
第7章 VHDL有限状态机设计N_图文.ppt
第7章 VHDL有限状态机设计N - EDA技术实用教程 第7章 VHDL有限状态机设计 内容提要 ?有限状态机及其设计技术,时使用数字系统设计中的重要 组成部分,是实现高效、...
有限状态机的VHDL设计方法研究_论文.pdf
有限状态机的VHDL设计方法研究 - 有限状态机及其设计技术是实用数字系统设计中
Moore型和Mealy型有限状态机的VHDL设计.pdf
科技信息 计算机与网络 Moore型和Mealy型青限状态棚帕VHDL设计山东艺术学院万莉莉[摘要]从精出时序上看,Moore型状态机属于异步输出状态机,Mealy型状态机属于同步输出...
有限状态机的VHDL设计及优化.pdf
有限状态机VHDL设计及优化 - 第 28 卷第 1 期 2004 年 1 月
10进制加减计数器状态机的VHDL设计.doc
10进制加减计数器状态机VHDL设计 - 本次设计选用的功能状态为: A. 复
VHDL_状态机_图文.pdf
VHDL_状态机 - 集大信息 EDA技术与VHDL 第五章 VHDL状态机 集大信息 TYPE 5.1 状态机设计相关语句 5.1.1 类型定义语句 数据类型名 IS 数据类型定义 ...
基于VHDL的Mealy状态机设计.doc
基于VHDL的Mealy状态机设计 - 基于 VHDL 的 Mealy 状态机设计 物理与电子信息科学系 姓名: 姓名:孙家芳 指导教师: 指导教师:胡湘娟 电子信息科学与技术专业 学号...
补充1_一般时序逻辑电路及状态机设计VHDL_图文.ppt
补充1_一般时序逻辑电路及状态机设计VHDL - 一般时序逻辑电路及状 态机设计 常见电路: 1、触发器电路(D、T、RS、JK等) 2、寄存器电路 3、计数器电路 4、...
实验四 状态机的VHDL设计.doc
实验四 状态机VHDL设计_工学_高等教育_教育专区。VHDL,程序设计,实验,实验报告,计算机科学与技术, 实验四一、实验目的与要求 状态机VHDL 设计 目的: 1、...
基于VHDL语言的状态机设计_论文.pdf
基于VHDL语言的状态机设计 - VHDL语言是一种硬件描述语言,用于描述硬件的行为和结构。与软件编程语言被翻译成机器指令不同,vHDL语言是被翻译成数字电路结构,最终在...
更多相关标签: