有限状态机设计

合集下载

第八次课-8章状态机精选全文

第八次课-8章状态机精选全文
state<=s0; endcase end endmodule
z<=0;
三、基于状态机的设计要点
1.起始状态的选择
起始状态是指电路复位后所处的状态,选择一 个合理的起始状态将使整个系统简洁高效。有的 EDA软件会自动为基于状态机的设计选择一个最佳 的起始状态。
2.状态转换的描述
一般使用case语句来描述状态之间的转换, 用case语句表述比用if-else语句更清晰明了。
有限状态机类型 有限状态机的Verilog描述 有限状态机的设计要点
一、两种有限状态机
二、有限状态机的Verilog描述
描述对象:
当前状态、下一状态、输出逻辑
描述方式: 单过程、双过程、三过程
单过程描述方式: 放在一个过程中描述,相当于采用时
钟信号同步,克服输出产生毛刺。但输出 逻辑相对于双过程,要延迟一个时钟周期。
end end
s3: begin if(x==0)
begin state<=s0; z<=0;
end else begin
state<=s4; z<=1; end end
s4: begin if(x==0)
begin state<=s0; end else begin state<=s4; z<=1; end end default:
双过程描述方式: 一个过程 由时钟信号触发的时序过程
(当时钟发生跳变时,状态机状态发生变 化。一般用case语句检查状态机的当前状态; 另一过程是组合过程,对于摩尔型,输出 只与当前状态有关,因此只需用case语句即 可,对米里型,因与当前状态和输入都有 关,因此可用case 语句和 if组合进行描述。

Verilog 有限状态机设计(课堂PPT)

Verilog 有限状态机设计(课堂PPT)

begin
case( state )
state0:
out = 3'b001;
state1:
out = 3'b010;
state2:
out = 3'b100;
state3:
out = 3'b111;
default:
out = 3'b001;
endcase
end
endmodule
11
8.2 有限状态机的Verilog描述
begin if(clr) qout<=0;
//异步复位
else case(qout)
3'b000: qout<=3'b001;
3'b001: qout<=3'b010;
3'b010: qout<=3'b011;
3'b011: qout<=3'b100;
3'b100: qout<=3'b000;
default: qout<=3'b000; /*default语句*/
state2 = 2’b11, state3 = 2’b10; // 格雷码
always @( posedge clk or posedge clr ) begin
if( clr ) state <= state0; // 定义初态 state <= next_state; end
8
always @( state or start or step2 or step3 ) // 状态转换
EDA技术与应用
第八章 有限状态机设计
1

Verilog学习----有限状态机的设计的一般步骤

Verilog学习----有限状态机的设计的一般步骤

Verilog学习----有限状态机的设计的⼀般步骤有限状态机的设计的⼀般步骤:(1)逻辑抽象,得出状态转换图。

就是把给出的⼀个实际逻辑关系表⽰为时序逻辑函数,可以⽤状态转换表来描述,也可以⽤状态转换图来描述。

这就需要:1)分析给定的逻辑问题,确定输⼊变量、输出变量以及电路的状态数。

通常是取原因(或条件)作为输⼊变量,取结果作为输出变量。

2)定义输⼊、输出逻辑状态的含意,并将电路状态顺序编号。

3)按照要求列出电路的状态转化表或画出状态图。

这样,就把给定的逻辑问题抽象到⼀个时序逻辑函数了。

(2)状态简化。

如果在状态转换图中出现这样两个状态,它们在相同的的输⼊下转换到同⼀状态去,并得到⼀样的输出,则称为等价状态。

显然等价状态是重复的,可以合并为⼀个。

电路的状态数越少,存储电路也就越简单。

状态化简的⽬的就在于将等价状态尽可能地合并,以得到最简状态图。

(3)状态分配。

状态分配⼜称状态编码。

通常有很多编码⽅法,编码⽅案选择得当,设计的电路可以简单,反之,选择的不好,则设计的电路就会复杂的多。

在实际设计中,须综合考虑电路的复杂度与电路性能之间的折衷。

在触发器资源丰富的FPGA设计中,采⽤独热码既可以使电路性能得到保障⼜可以充分利⽤其触发器数量多的优势,也可以采⽤输出编码的状态指定来简化电路结构,并提⾼状态机的运⾏速度。

(4)选定触发器的类型并求出状态⽅程、驱动⽅程和输出⽅程。

(5)按照⽅程得出逻辑图。

⽤Verilog来描述有限状态机,可以充分发挥硬件描述语⾔的抽象建模能⼒,使⽤always块语句和case(if)等条件语句及赋值语句即可⽅便实现。

verilog有限状态机的设计

verilog有限状态机的设计



8
8.5 设计一个汽车尾灯控制电路。已知汽车左右两侧各 有3个尾灯,要求控制尾灯按如下规则亮灭。 (1)汽车沿直线行驶时,两侧的指示灯全灭; (2)右转弯时,左侧的指示灯全灭,右侧的指示灯按 000,100,010,001,000循环顺序点亮; (3)左转弯时,右侧的指示灯全灭,左侧的指示灯按与 右侧同样的循环顺序点亮; (4)如果在直行时刹车,两侧的指示灯全亮;如果在转 弯时刹车,转弯这一侧的指示灯按上述的循环顺序点 亮,另一侧的指示灯全亮。
always @(state) /*该过程产生输出逻辑*/ begin case(state) S3: z=1'b1; default:z=1'b0; endcase end endmodule
“101”序列检测器(单过程描述)
module fsm4_seq101(clk,clr,x,z); input clk,clr,x; output reg z; reg[1:0] state; parameter S0=2'b00,S1=2'b01,S2=2'b11,S3=2'b10; /*状态编码,采用格雷(Gray)编码方式*/ always @(posedge clk or posedge clr) Begin if(clr) state<=S0; //异步复位,s0为起始状态 else case(state) S0:begin if(x) begin state<=S1; z=1'b0;end else begin state<=S0; z=1'b0;end end S1:begin if(x) begin state<=S1; z=1'b0;end else begin state<=S2; z=1'b0;end end S2:begin if(x) begin state<=S3; z=1'b0;end else begin state<=S0; z=1'b0;end end S3:begin if(x) begin state<=S1; z=1'b1;end else begin state<=S2; z=1'b1;end end default:begin state<=S0; z=1'b0;end /*default语句*/ endcase end endmodule

第7章 有限状态机设计

第7章 有限状态机设计

7.2 一般状态机的设计 一、 状态机建立的一般步骤
利用VHDL来设计状态机的一般步骤如下: 来设计状态机的一般步骤如下: 利用 来设计状态机的一般步骤如下 (1) 利用自定义枚举类型定义状态空间: 利用自定义枚举类型定义状态空间: TYPE state_space IS (idle,decision,read,write); SIGNAL Current_State,next_state: state_space; 状态名最好具有明显的解释性意义
process(clk) --主控时序进程 主控时序进程 begin if clk'event and clk='1' then current_state<=next_state; end if; end process; process(lock) --输出进程 输出进程 begin if lock'event and lock='1' then reg8b<=d; end if; end process; q<=reg8b; end behav;
ready Read_write
Oe(读信号) (读信号)
存储器控 制器
We(写信号) (写信号)
存储控制器状态转移图和真值表分别如下: 存储控制器状态转移图和真值表分别如下:
idle ready 空闲( 空闲(idle) ) ready decision ready write_read 判断 (decision) ) 写(write) ) read 读(read) ) 0 0 1 0 1 0 /ready 输出 状态 Oe(读) ( 0 We(写) ( 0
(3) 建立状态机主控时序进程
状态机是同步时序电路, 状态机是同步时序电路,必须包含一个对工作时钟信号敏 感的进程,作为状态机的“驱动泵” 感的进程,作为状态机的“驱动泵”。当时钟发生有效跳 变时,状态机的状态才发生变化。 变时,状态机的状态才发生变化。状态机的主控时序进程 主要负责将主控时序进程得到的下一个状态锁存到状态寄 存器中。如: 存器中。

有限状态机设计

有限状态机设计

ENTITY AD574 IS
PORT (
d:
IN STD_LOGIC_VECTOR(11 DOWNTO 0);
clk,status :
IN STD_LOGIC; --时钟CLK,状态信号STATUS
lock0 :
OUT STD_LOGIC; --内部锁存信号LOCK旳测试信号
cs,a0,rc,k12x8 : OUT STD_LOGIC; --AD574控制信号
决定进入下一种状态。
(if - then - else)
二、一般有限状态机旳设计
6.2.1 一般有限状态机构成
4. 辅助进程:
clk reset State_inputs
状态机 Current_state
Next_state
一般状态机工作示意图
Comb_output
二、一般有限状态机旳设计
【例 6-1 】一般两进程有限状态机描述
下一状态 输出
001
0
000
0


状态机旳表达措施2
措施二:算法流程图 措施与软件程序旳流程图类似
状态机旳表达措施3
措施三:状态转换图 条件控制
定序
状态1


/出
状态4
/出


状态3
/出
状态2
/出
Moore
直接控制 定序
状态机旳表达措施3
措施三:状态转换图 条件控制
定序
状态1
入 /出
入 /出
状态4
工作状态
禁止
禁止
开启12位转换 开启8位转换 12位并行输出有效 高8位并行输出有效 低4位加上尾随4个0有效

《FPGA系统设计》实验报告》有限状态机的设计

《FPGA系统设计》实验报告》有限状态机的设计

《FPGA系统设计》实验报告》有限状态机的设计一、设计任务了解有限状态机的概念;掌握Moore型有限状态机的特点和其VHDL语言的描述方法掌握Mealy型有限状态机的特点和其VHDL语言的描述方法二、设计过程1.单进程Moore型有限状态机程序代码这是一个单进程的Moore状态机, 其特点是组合进程和时序进程在同一个进程中, 此进程可以认为是一个混合进程。

2.该状态机时一个2进程Mealy型状态机, 进程COMREG是时序与组合混合型进程;进程COM1负责根据状态和输入信号给出不同的输出信号。

library ieee;use ieee.std_logic_1164.all;entity MEALY1 isport(clk,datain,reset : in std_logic;q : out std_logic_vector(4 downto 0));end MEALY1;architecture one of MEALY1 istype states is (st0,st1,st2,st3,st4);signal stx : states;begincomreg : process(clk,reset,datain,stx) --主控时序进程beginif reset = '1' then stx <= st0;elsif clk'event and clk = '1' thencase stx iswhen st0 => if datain = '1' then stx <= st1;end if;when st1 => if datain = '0' then stx <= st2;end if;when st2 => if datain = '1' then stx <= st3;end if;when st3 => if datain = '0' then stx <= st4;end if;when st4 => if datain = '1' then stx <= st0;end if;when others => stx <= st0;end case;end if;end process comreg;com1 : process(stx,datain) --主控组合进程begincase stx iswhen st0 => if datain = '1' then q <= "10000"; else q <= "01010"; end if;when st1 => if datain = '0' then q <= "10111"; else q <= "10100"; end if;when st2 => if datain = '1' then q <= "10101"; else q <= "10011"; end if;when st3 => if datain = '0' then q <= "11011"; else q <= "01001"; end if;when st4 => if datain = '1' then q <= "11101"; else q <= "01101"; end if;when others => q <= "00000";end case;end process com1;end one;3.该状态机属于Moore型状态机, 由两个主控进程构成, 其中进程REG是主控时序进程, COM是主控组合进程。

利用查表法进行有限状态机编程设计

利用查表法进行有限状态机编程设计
输入信号,建立状态转换表。表格的行表示当前 状态,列表示输入信号,表格中的每个元素表示状态转换的结果,即下一个状态。
利用查表法进行有限状态机编程设计
3. 实现状态转换逻辑:根据状态转换表,编写代码实现状态转换逻辑。可以使用if-else语 句或switch-case语句来根据当前状态和输入信号进行状态转换。
6. 测试和调试:完成代码编写后,进行测试和调试,确保FSM的状态转换和状态动作的 正确性。
需要注意的是,利用查表法进行FSM编程设计可以简化代码的实现和维护,提高程序的可 读性和可扩展性。但在实际应用中,需要根据具体的系统需求和FSM的复杂性,灵活选择合 适的编程方法和数据结构来实现FSM的功能。
利用查表法进行有限状态机编程设计
利用查表法进行有限状态机(FSM)的编程设计是一种常用的方法,它通过建立状态转换 表来实现状态机的功能。以下是利用查表法进行FSM编程设计的一般步骤:
1. 确定状态和输入信号:首先确定FSM的状态和输入信号。状态是指FSM的不同工作状 态,输入信号是触发状态转换的信号。
4. 处理状态动作:在状态转换的同时,可能需要执行某些特定的状态动作。根据需要,在 状态转换逻辑中添加相应的代码来处理状态动作。
5. 设计输入信号检测:在程序中,需要检测输入信号的变化,并根据当前状态和输入信号 进行状态转换。可以使用轮询或中断等方式来检测输入信号的变化。
利用查表法进行有限状态机编程设计

有限状态机(FSM)的设计

有限状态机(FSM)的设计
有限状态机FSM 简称状态机) VHDL设计 FSM( 第4章 有限状态机FSM(简称状态机)的VHDL设计 一、有限状态机的基本概念 1、有限状态机的基本结构和功 能 有限状态机( 有限状态机(Finite Machine,简称FSM FSM) State Machine,简称FSM)是 一种十分重要的时序逻辑电路, 一种十分重要的时序逻辑电路, 由状态寄存器和组合逻辑电路 组成, 组成,是数字逻辑电路以及数 次态组合 字系统的重要组成部分, 字系统的重要组成部分,尤其 输出组合 逻辑电路 应用于数字系统核心部件( 应用于数字系统核心部件(控 逻辑电路 输 制单元)的设计, 制单元)的设计,以实现高效 输入 状态 出 输出 率高可靠性的逻辑控制。 率高可靠性的逻辑控制。 状态 状态 译 译码器 寄存器 有限状态机可实现以下两种基本操作: 有限状态机可实现以下两种基本操作: 码 反馈 器 (1)状态机内部状态转换。由状态译 )状态机内部状态转换。 码器根据当前状态和输入信号确定。 码器根据当前状态和输入信号确定。 状态机结构示意图 (2)产生输出信号序列。由输出译码 )产生输出信号序列。 器根据状态机当前状态和输入信号确定。 器根据状态机当前状态和输入信号确定。
SIGNAL CS,NS: STATE_TYPE; BEGIN REG:PROCESS(CLK,RESET) BEGIN IF RESET=‘0’ THEN CS<=S0; THEN CS<=NS; --寄存器进程 --寄存器进程
ELSIF END
CLK'EVENT AND CLK='1‘
IF;
END PROCESS; FUNC1:PROCESS(INPUT,CS) BEGIN CASE CS IS WHEN S0=>IF INPUT ELSE END IF; WHEN S1=>IF INPUT ELSE END IF; WHEN S2=>IF INPUT ELSE END IF; WHEN S3=>IF INPUT ELSE END IF; --次态组合逻辑译码进程 --次态组合逻辑译码进程

有限状态机设计与化简

有限状态机设计与化简

有限状态机设计与化简
在设计和实现有限状态机时,我们经常遇到的一个问题是状态机可能会变得复杂和冗长,导致难以管理和维护。

因此,我们需要一个方法来对有限状态机进行化简,以简化设计和提高可读性。

1.确定状态集合:首先,我们需要明确系统中可能的所有状态。

这些状态应该能够完整地描述系统的行为和状态。

2.确定输入符号集合:然后,我们需要确定能够影响状态转移的所有输入符号。

3.确定输出符号集合:接下来,我们需要确定状态机可以产生的所有输出符号。

4.确定转移函数:转移函数定义了从一个状态到另一个状态的转移条件。

我们需要根据系统要求确定转移函数的具体形式和条件。

5.绘制状态转移图:借助状态转移图,我们可以直观地表示状态之间的转移关系。

图中的节点表示状态,边表示状态之间的转移,边上的标记表示触发该转移的输入符号。

6.确定等价状态:等价状态是指在任何输入序列下,状态机的行为是相同的。

我们可以使用不同的方法(如等价关系、状态等价识别算法等)来确定等价状态。

7.合并等价状态:一旦我们确定了等价状态,我们可以将它们合并成一个新的等价状态。

通过合并等价状态,我们可以显著减少状态机的复杂性和冗余。

8.重绘状态转移图:最后,我们需要使用新的等价状态更新状态转移图。

新的状态转移图应该更简洁和易读,同时保留了原始状态机的行为。

通过以上步骤,我们可以对有限状态机进行设计和化简,从而简化复杂的状态机,并提高其可读性和可维护性。

这对于开发和设计各种自动控制系统、软件系统和电路系统等具有重要意义。

有限状态机设计

有限状态机设计
以下列出了两种不同的定义方式:
9.1 一般有限状态机的设计
9.1.1 用户自定义数据类型定义语句
TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ) ; SIGNAL present_state,next_state : m_state ;
布尔数据类型的定义语句是: TYPE BOOLEAN IS (FALSE,TRUE) ;
TYPE my_logic IS ( '1' ,'Z' ,'U' ,'0' ) ; SIGNAL s1 : my_logic ; s1 <= 'Z' ;
9.1 一般有限状态机的设计
9.1.1 用户自定义数据类型定义语句
子类型SUBTYPE的语句格式如下: SUBTYPE 子类型名 IS 基本数据类型 RANGE 约束范围;
S3
S4/0
S3/0
S4
S5/0
S1/0
S5
S0/0
S6/0
S6
S0/1
S2/0
简化后状态图
程序代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY CHK2 IS PORT(CLK, RESET: IN STD_LOGIC; S_IN: IN STD_LOGIC; FD: OUT STD_LOGIC); END CHK2; ARCHITECTURE a OF CHK2 IS TYPE STATE_TYPE IS (S0, S1, S2,S3,S4,S5,S6); SIGNAL state: STATE_TYPE; BEGIN PROCESS (CLK,RESET) BEGIN IF RESET= '1' THEN state <= S0; ELSIF CLK'EVENT AND CLK = '1' THEN CASE state IS WHEN S0 =>FD <='0'; IF S_IN='1' THEN state <= S1;ELSE STATE <= S0; END IF; WHEN S1 =>FD<='0'; IF S_IN='1' THEN state <=S2;ELSE STATE <=S0; END IF; 接下页

有限状态机的Verilog设计与研究

有限状态机的Verilog设计与研究

谢谢观看
end
endcase
end
end
endmodule
该有限状态机使用三个寄存器来存储当前的状态,并在每个时钟周期检查输入 信号和当前状态来确定下一个状态。如果接收到读取信号,它将输出与输入相 同的数据,并在下一个时钟周期回到空闲状态。如果接收到写入信号,它也会 输出与输入相同的数据,并在下一个时钟周期回到空闲状态。该有限状态机的 设计是可综合的,因为它只包含基本的逻辑门和触发器,并且它的输出只依赖 于当前的状态和输入信号。
end else begin state <= STANDBY;
end
end
endcase
end
end
assign led = state;
endmodule
有限状态机的测试
为了确保有限状态机的正确性,需要对Verilog设计的有限状态机进行测试。 以下是测试过程中需要注意的几点:
end else begin state <= IDLE;
end
end
FLASH: begin
if (flash_timeout) begin state <= STANDBY;
end else begin state <= FLASH;
end
end
STANDBY: begin
if (activate) begin state <= FLASH;
有限状态机的Verilog设计与研究
01 引言
目录
02 有限状态机的设计
03 reg [1:0] state;
05
end else begin
04
if (rst) begin
06
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验七有限状态机设计
一、实验目的
1、掌握利用有限状态机实现一般时序逻辑分析的方法;
2、掌握用VHDL或Verilog编写可综合的有限状态机的标准模板;
3、掌握用VHDL或Verilog编写序列检测器以及其他复杂逻辑电路的设计;
二、实验内容
1、用MOORE型状态机设计一个具有双向步进电动机控制实验:该控制电路有三个输入信号:clk时钟信号,clr复位信号,dir方向控制信号。

输出信号为phase[3..0]用来控制步进电机的动作。

当dir=1时要求phase[3..0]按照“0001”,“0010”,“0100”,“1000”的顺序变化;当dir=0时要求phase[3..0]按照“0001”,“1000”,“0100”,“0010”的顺序变化。

2、设计一个简单的状态机,功能是检测一个5位的二进制序列“10010”。

3、设计一个串行数据检测器,要求是:连续4个或4个以上为1时输出为1,其他输入情况为0。

(选做)
4、根据状态图,写出对应于结构图b,分别由主控组合进程和主控时序进程组成的VERILOG 有限状态机描述。

(选做)
三、实验步骤
实验一:
1、建立工程
2、创建Verilog HDL文件
3、输入程序代码并保存
module moore1(clk,clr,dir,phase);
input clk,clr,dir;
output[3:0] phase;
reg[3:0] phase;
reg[1:0] state;
parameter s0='b00,s1='b01,s2='b10,s3='b11;
always@(posedge clk)
begin
if(clr)begin
phase<='b0000;state<=s0;end
else
begin
case(state)
s0:if(dir) begin
phase<='b0010;state<=s1;end
else
begin
phase<='b1000;state<=s3;end
s1:if(dir) begin
phase<='b0100;state<=s2;end
else begin
phase<='b0001;state<=s0;end
s2:if(dir) begin
phase<='b1000;state<=s3;end
else begin
phase<='b0010;state<=s1;end
s3:if(dir) begin
phase<='b0001;state<=s0;end
else begin
phase<='b0100;state<=s2;end
endcase
end
end
endmodule
4、进行综合编译
5、新建波形文件
6、导入引脚,设置信号源并保存
7、功能仿真,结果分析
由仿真波形图可以看出当dir=1时,phase[3..0]按照0001,0010,0100,1000的顺序变化,当dir=0时phase[3..0]按照0001,1000,0100,0010的顺序变化。

所以设计正确。

实验二:
1、建立工程
2、创建Verilog HDL文件
3、输入程序代码并保存
module seqdet(x,z,clk,rst,state);
input x,clk,rst;
output z;
output [2:0] state;
reg [2:0] state;
wire z;
parameter IDLE='d0,A='d1,B='d2,C='d3,D='d4,E='d5,F='d6,G='d7;
assign z=(state==E&&x==0)?1:0;
always @(posedge clk)
if(!rst)
begin
state<=IDLE;
end
else
casex(state)
IDLE:if(x==1)
begin
state<=A;
end
A:if(x==0)
begin
state<=B;
end
B:if(x==0)
begin
state<=C;
end
else
begin
state<=F;
end
C:if(x==1)
begin
state<=D;
end
else
begin
state<=G;
end
D:if(x==0)
begin
state<=E;
end
else
begin
state<=A;
end
E:if(x==0)
begin
state<=C;
end
else
begin
state<=A;
end
F:if(x==1)
begin
state<=A;
end
else
begin
state<=B;
end
G:if(x==1)
begin
state<=F;
end
default:state<=IDLE; endcase
endmodule
//测试代码
`timescale 1ns/1ns module seqdet_Top;
reg clk,rst;
reg [23:0]data;
wire [2:0]state;
wire z,x;
assign x=data[23];
always #10 clk=~clk; always @(posedge clk) data={data[22:0],data[30]}; initial
begin
clk=0;
rst=1;
#2 rst=0;
#30 rst=1;
data='b1100_1001_0000_1001_0100;
#500 $stop; end
seqdet m(x,z,clk,rst,state);
endmodule
4、进行综合编译
5、新建波形文件
6、导入引脚
7、设置信号源并保存
8、功能仿真
9、仿真结果分析
由波形图可以看出状态由000->001->010->011->100,即对应IDLE->A->B->C->D->E的状态转换即10010.所以设计正确。

实验三:
1、建立工程
2、创建Verilog HDL文件
3、输入程序代码并保存
module jiance_ljj(clk,clr,a,out);
input clk,clr,a;
output out;
reg out;
reg[2:0] t;
always@(posedge clk or posedge clr)
begin
if (clr)
begin
t<=0;
out<=0;
end
else
begin
case(t)
'b000:begin
if(a)
t<='b001;
else
t<='b000;
out<=0;
end
'b001:begin
if(a)
t<='b010;
else
t<='b000;
out<=0;
end
'b010:begin
if(a)
t<='b011;
else
t<='b000;
out<=0;
end
'b011:begin
if(a)
t<='b100;
else
t<='b000;
out<=0;
end
'b100:begin
t<='b000;
if(a)
out<=1;
else
out<=0;
end
endcase
end
end
endmodule
4、进行综合编译
5、新建波形文件
6、导入引脚
7、设置信号源并保存
8、生成网表
9、仿真结果分析
由仿真波形可知结果正确。

相关文档
最新文档