《EDA_第6章_有限状态机的设计.ppt》由会员分享,可在线阅读,更多相关《EDA_第6章_有限状态机的设计.ppt(85页珍藏版)》请在三一办公上搜索。
1、第6章,有限状态机设计,第6章 有限状态机设计,6.1 概述,6.2 一般有限状态机的设计,6.3 Moore型状态机的设计,6.4 Mealy型状态机的设计,6.5 状态编码,6.6 状态机剩余状态处理,6.1 概述,6.1.1 关于状态机,6.1.2 状态机的特点,6.1.3 状态机的基本结构和功能,6.1.1 关于状态机,有限状态机(Finite State Machine FSM)是由状态寄存器和组合逻辑电路构成的,能够根据控制信号按照预先设定的状态进行状态转移,属于一种同步时序逻辑电路。,用VHDL设计的状态机的分类:,(1)按信号输出方式分:,Mealy(米立)型,outputs=
2、f(current_states),Moore(摩尔)型,outputs=f(current_states,inputs),(4)从状态编码方式分:,(3)从状态表达方式分:符号化状态机和确定状态编码的状态机.,顺序编码、一位热码编码和其他编码方式状态机,(2)从结构上分:单进程和多进程.,6.1.2 状态机的特点,(1)有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。(运行方式上类似于控制灵活和方便的CPU,在运行速度和工作可靠性方面都优于CPU),(2)状态机的结构模式相对简单,设计方案相对固定,特别是可以定义符号化枚举类型的状态。,(3)状态机容易构成性能良好的同步时序逻辑模块。
3、有利于消除大规模逻辑电路设计中的竞争冒险现象,提供了多种设计方案消除电路中的毛刺.,(4)与VHDL的其他描述方式相比,状态机的VHDL表述丰富多样,程序层次分明,结构清晰,易读易懂,在排错、修改和模块移植方面也有其独到的特点。,(5)在高速运算和控制方面,状态机更有其巨大的优势。,一般由状态机构成的硬件系统比CPU所能完成同样功能的软件系统的工作速度要高3-4个数量级.,(6)就可靠性而言,状态机的优势也是十分明显的。,1.由纯硬件电路构成,不存在CPU运行软件过程中许多固有的缺陷。,2.状态机的设计中能使用各种完整的容错技术。,3.当状态机进入非法状态并从中跳出,进入正常状态所耗的时间十分
4、短暂(约数十个微秒),尚不足以对系统的运行构成损害。,6.1.3 状态机的基本结构和功能,图6-1 状态机的结构示意图,状态机的两种基本操作:,(1)状态机内部状态转换.状态机经历一系列状态,下一状态由状态译码器根据当前状态和输入条件决定。,(2)产生输出序列.输出信号由输出译码器根据当前状态和输入条件决定。,6.2 一般有限状态机的设计,6.2.1 一般有限状态机的组成,6.2.2 设计实例,6.2.1 一般有限状态机的组成,一般的状态机通常包含说明部分、时序进程、组合进程、辅助进程等几个部分。,1.说明部分,说明部分定义新的枚举类型,其元素即为状态机的所有状态。状态变量(现态和次态)定义为
5、信号,并且状态变量的数据类型为前述的枚举类型。,如:type state_type is(start_state,run_state,error_state);Signal current_state,next_state:state_type;,2.时序进程,时序进程负责状态机运转和在时钟驱动下负责状态转换,图6-2 一般状态机的工作示意图,4.辅助进程,用于配合状态机工作的组合进程或时序进程.(如为了稳定输出设置的数据锁存器等)。,组合进程的任务是根据外部输入的控制信号(包括来自状态机外部的信号和来自状态机内部其它的信号)和当前状态的值确定下一状态(next_state)的取值内容,以及确
6、定对外输出或对内部其它组合或时序进程输出控制信号的内容。,3.组合进程,6.2.2 设计实例,【例6-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 s_machine;,REG:PROCESS(reset,clk)-时序逻辑进程 BEGIN IF rese
7、t=1 THEN-异步复位 current_state=st0;ELSIF(clk=1AND clkEVENT)THEN current_state=next_state;-当检测到时钟上升沿时转换至下一状态 END IF;END PROCESS;-由current_state将当前状态值带出此进程,进入进程COM,ARCHITECTURE behave OF s_machine IS-结构体 TYPE states IS(st0,st1,st2,st3);-定义states为枚举型数据类型 SIGNAL current_state,next_state:states;BEGIN,COM:PR
8、OCESS(current_state,state_inputs)-组合逻辑进程 BEGIN CASE current_state IS-确定当前状态的状态值 WHEN st0=comb_outputs=00;-初始态译码输出 IF state_inputs=00 THEN next_state=st0;-根据外部的状态控制输入“00”,在下一时钟后,进程REG的状态维持为st0 ELSE next_state=st1;-否则,在下一时钟后,进程REG的状态将为st1 END IF;,WHEN st1=comb_outputs=01;-对应st1的译码输出“01”IF state_inputs
9、=00 THEN next_state=st1;-根据外部的状态控制输入“00”在下一时钟后,进程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;E
10、ND CASE;END PROCESS;-由信号next_state将下一状态值带出此进程,进入进程reg END behave;,例6-1状态机的仿真波形(功能仿真),例6-1状态机的状态转换图,6.3 Moore型状态机的设计,图6-3 Moore型状态机框图,6.3 Moore型状态机的设计,6.3.1 多进程Moore型有限状态机,6.3.2用时钟同步输出信号的Moore型有限状态机,6.3.1 多进程Moore型有限状态机,1Pin2(12/8)数据模式选择端,通过此引脚可选择数据总线是12位或8位输出。,3Pin4(A0)字节地址短周期控制端。与12/8端用来控制启动转换的方式和数
11、据输出格式。,5Pin6(CE)使能端。,6Pin28(STS)工作状态指示信号端,当STS=1时,表示转换器正处于转换状态,当STS=0时.声明A/D转换结束.,表6-1 AD574逻辑控制真值表(X表示任意值),AD574工作时序图,对AD574初始化,打开片选,启动12位转换,采样周期中等待,STATUS=1:正在转换!,STATUS=0:转换结束!,12位转换数据输出有效,由LOCK发数据锁存信号,图6-5 AD574采样控制状态图,PROCESSREG时序进程,PROCESSCOM组合进程,PROCESSLATCH锁存器,current_state,next_state,LOCK,状
12、态机FSM,FPGA/CPLD,CLK,CS A0 RC K12/8 STATUSD11.0,AD574,Q11.0,模拟信号输入,采样数据输出,图6-6 采样状态机结构框图,【例6-2】AD574控制器描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD574 IS PORT(D:IN STD_LOGIC_VECTOR(11 DOWNTO 0);CLK,STATUS:IN STD_LOGIC;-状态机时钟CLK,AD574状态信号STATUS LOCK0:OUT STD_LOGIC;-内部锁存信号LOCK的测试信号 CS,A0,RC,K12
13、X8:OUT STD_LOGIC;-AD574控制信号 Q:OUT STD_LOGIC_VECTOR(11 DOWNTO 0);-锁存数据输出END AD574;,ARCHITECTURE behav OF AD574 ISTYPE states IS(st0,st1,st2,st3,st4);SIGNAL current_state,next_state:states:=st0;SIGNAL REGL:STD_LOGIC_VECTOR(11 DOWNTO 0);SIGNAL LOCK:STD_LOGIC;BEGIN K12X8 next_state next_state IF(STATUS=
14、1)THEN next_state=st2;ELSE next_state=st3;END IF;,WHEN st3=next_state next_state next_state CS CS CS CS CS=0;A0=0;RC=1;LOCK=1;-锁存数据,When others=CS=1;A0=1;RC=1;LOCK=0;-其它情况返回初始态(容错)END CASE;END PROCESS COM2;REG:PROCESS(CLK)-时序进程 BEGIN IF(CLKEVENT AND CLK=1)THEN current_state=next_state;END IF;END PRO
15、CESS REG;LATCH1:PROCESS(LOCK)-数据锁存器进程 BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL=D;END IF;END PROCESS;Q=REGL;END behav;,状态机工作时序图,6.3.2 用时钟同步输出的Moore型有限状态机,图6-8用时钟同步输出的Moore型状态机框图,【例6-3】用时钟同步输出的单进程状态机LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MOORE1 IS PORT(DATAIN:IN STD_LOGIC_VECTOR(1 DOWNTO 0);CL
16、K,RST:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END MOORE1;ARCHITECTURE behav OF MOORE1 IS TYPE ST_TYPE IS(ST0,ST1,ST2,ST3,ST4);SIGNAL C_ST:ST_TYPE;BEGIN PROCESS(CLK,RST)-混合进程 BEGIN IF RST=1 THEN C_ST=ST0;Q=0000;ELSIF CLKEVENT AND CLK=1 THEN,CASE C_ST IS WHEN ST0=IF DATAIN=10 THEN C_ST IF DATA
17、IN=11 THEN C_ST IF DATAIN=01 THEN C_ST IF DATAIN=00 THEN C_ST IF DATAIN=11 THEN C_ST=ST0;ELSE C_ST=ST3;END IF;Q=1001;,图6-9例6-3状态机工作时序,WHEN OTHERS=C_ST=ST0;-容错 END CASE;END IF;END PROCESS;END behav;,6.4 Mealy型限状态机的设计,图6-10 Mealy状态机的框图,6.4 Mealy型限状态机的设计,6.4.1 多进程Mealy型有限状态机,6.4.2用时钟同步输出信号的Mealy型有限状态机,
18、【例6-4】两进程Mealy状态机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 behav OF MEALY1 IS TYPE states IS(st0,st1,st2,st3,st4);SIGNAL STX:states;BEGIN COMREG:PROCESS(CLK,RESET)-决定转换状态的进程(混合进程)BEGIN IF RES
19、ET=1 THEN STX=ST0;ELSIF CLKEVENT AND CLK=1 THEN,接下页,6.4.1 多进程Mealy型有限状态机,CASE STX IS WHEN st0=IF DATAIN=1 THEN STX IF DATAIN=0 THEN STX IF DATAIN=1 THEN STX IF DATAIN=0 THEN STX IF DATAIN=1 THEN STX STX IF DATAIN=1 THEN Q IF DATAIN=0 THEN Q=10111;ELSE Q=10100;END IF;,WHEN st2=IF DATAIN=1 THEN Q IF D
20、ATAIN=0 THEN Q IF DATAIN=1 THEN Q Q=“00000”;-容错 END CASE;END PROCESS COM1;END behav;,图6-11 例6-4状态机工作时序图,例6-4状态机的状态转换图,【例6-5】加锁存器后的两进程Mealy状态机 LIBRARY IEEE;-MEALY FSMUSE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY2 IS PORT(CLK,DATAIN,RESET:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(4 DOWNTO 0);END MEALY2;ARCHITECT
21、URE behav OF MEALY2 IS TYPE states IS(st0,st1,st2,st3,st4);SIGNAL STX:states;SIGNAL Q1:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGIN COMREG:PROCESS(CLK,RESET)-决定转换状态的进程 BEGIN,IF RESET=1 THEN STX IF DATAIN=1 THEN STX IF DATAIN=0 THEN STX IF DATAIN=1 THEN STX IF DATAIN=0 THEN STX IF DATAIN=1 THEN STX STX=st0;END
22、 CASE;END IF;END PROCESS COMREG;,COM1:PROCESS(STX,DATAIN,CLK)-输出控制信号的进程 VARIABLE Q2:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGIN CASE STX IS WHEN st0=IF DATAIN=1 THEN Q2:=10000;ELSE Q2:=01010;END IF;WHEN st1=IF DATAIN=0 THEN Q2:=“10111”;ELSE Q2:=10100;END IF;WHEN st2=IF DATAIN=1 THEN Q2:=10101;ELSE Q2:=10011;
23、END IF;WHEN st3=IF DATAIN=0 THEN Q2:=11011;ELSE Q2:=01001;END IF;,WHEN st4=IF DATAIN=1 THEN Q2:=11101;ELSE Q2:=01101;END IF;WHEN OTHERS=Q2:=00000;END CASE;IF CLKEVENT AND CLK=1 THEN Q1=Q2;END IF;END PROCESS COM1;Q=Q1;END behav;,图6-12 例6-5状态机工作时序图,6.4.2 用时钟同步输出信号的Mealy型状态机,图6-13用时钟同步输出信号的Mealy型状态机的框图
24、,【例6-6】用时钟同步输出的单进程状态机LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY3 ISPORT(clk,in1,reset:IN STD_LOGIC;out1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END MEALY3;ARCHITECTURE behav OF MEALY3 IS TYPE state_type IS(st0,st1,st2,st3);SIGNAL state:state_type;BEGIN PROCESS(clk,reset)BEGIN IF reset=1 THEN sta
25、te 0);ELSIF clkEVENT AND clk=1 THEN,CASE state IS WHEN st0=IF in1=1 THEN state IF in1=0 THEN state IF in1=1 THEN state=st3;out1=“1111”;else out1=“1100”;end if;,WHEN st3=IF in1=0 THEN state=st0;out1=“0000”;else out1=“1111”;end if;END CASE;END IF;END PROCESS;end behav;,图6-14 例6-6状态机工作时序(功能仿真),6.5状态编码,
26、6.5.1 状态位直接输出型编码,6.5.2 顺序编码,6.5.3 一位热码编码,6.5.1 状态位直接输出型编码,表6-2 控制信号状态编码表,每一位的编码值都赋予了实际的控制功能,即:CS=current_state(4);A0=current_state(3);RC=current_state(2);LOCK=current_state(1).,将状态编码直接输出作为控制信号,【例6-7】状态位直接输出型编码的状态机LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD574A IS PORT(D:IN STD_LOGIC_VECTOR(11
27、 DOWNTO 0);CLK,STATUS:IN STD_LOGIC;OUT4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(11 DOWNTO 0);END AD574A;ARCHITECTURE behav OF AD574A ISSIGNAL current_state,next_state:STD_LOGIC_VECTOR(4 DOWNTO 0);CONSTANT st0:STD_LOGIC_VECTOR(4 DOWNTO 0):=11100;CONSTANT st1:STD_LOGIC_VECTOR(4 DOWNTO
28、0):=00001;CONSTANT st2:STD_LOGIC_VECTOR(4 DOWNTO 0):=00000;CONSTANT st3:STD_LOGIC_VECTOR(4 DOWNTO 0):=00100;CONSTANT st4:STD_LOGIC_VECTOR(4 DOWNTO 0):=00110;SIGNAL REGL:STD_LOGIC_VECTOR(11 DOWNTO 0);SIGNAL LK:STD_LOGIC;BEGIN COM1:PROCESS(current_state,STATUS)-决定转换状态的进程,BEGIN CASE current_state IS WH
29、EN st0=next_state next_state IF(STATUS=1)THEN next_state next_state next_state next_state=st0;END CASE;OUT4=current_state(4 DOWNTO 1);-替代例6-2中的COM2 END PROCESS COM1;REG:PROCESS(CLK)-时序进程 BEGIN IF(CLKEVENT AND CLK=1)THEN current_state=next_state;END IF;END PROCESS REG;LK=current_state(1);-对锁存器锁存信号赋值,
30、LATCH1:PROCESS(LK)-数据锁存器进程 BEGIN IF LK=1 AND LKEVENT THEN REGL=D;END IF;END PROCESS;Q=REGL;END behav;,状态位直接输出型编码方式的状态机的优点:输出速度快,没有毛刺,缺点:程序可读性差,用于状态译码的组合逻辑资源多,而且难以有效地控制非法状态的出现,图6-15 例6-7状态机工作时序图,6.5.2 顺序编码,表6-3 编码方式,利用若干个触发器的编码组合来实现n个状态,【例6-8】顺序编码状态机.SIGNAL CRURRENT_STATE,NEXT_STATE:STD_LOGIC_VECTOR(
31、2 DOWNTO 0);CONSTANT ST0:STD_LOGIC_VECTOR(2 DOWNTO 0):=000;CONSTANT ST1:STD_LOGIC_VECTOR(2 DOWNTO 0):=001;CONSTANT ST2:STD_LOGIC_VECTOR(2 DOWNTO 0):=010;CONSTANT ST3:STD_LOGIC_VECTOR(2 DOWNTO 0):=011;CONSTANT ST4:STD_LOGIC_VECTOR(2 DOWNTO 0):=100;CONSTANT ST5:STD_LOGIC_VECTOR(2 DOWNTO 0):=101;,顺序编码的
32、优点:编码方式最为简单,且使用的触发器数量最少,剩余的非法状态最少,容错技术最为简单,缺点:,1、增加了从一种状态向另一种状态转换的译码组合逻辑。,2、对于输出的控制信号还需要在状态机中再设置一个组合进程作为控制译码器。,6.5.3 一位热码编码(one-hot encoding),利用n个触发器来实现n个状态,状态机中的每个状态都由其中一个触发器的状态表示,一位热码编码的缺点:使用的触发器较多。,优点:简化了状态译码逻辑,提高状态转换速度。,表6-3 编码方式,状态机编码方式设置,一位热码编码方式选择窗,选择Assign-Global Project Logic Synthesis菜单,6.
33、6 状态机剩余状态处理,表6-4 含有剩余状态的编码表,剩余(非法)状态:状态机在正常运行中不需要出现的状态。,(1)在语句中对每一非法状态都作出明确的状态转换指示,如:,处理的办法是在枚举类型定义中就将所有的状态,包括非法状态都作出定义,并在以后的语句中加以处理。,.TYPE states IS(st0,st1,st2,st3,st4,st_ilg1,st_ilg2,st_ilg3);SIGNAL current_state,next_state:states;.COM:PROCESS(current_state,state_Inputs)-组合逻辑进程BEGIN CASE current_
34、state IS-确定当前状态的状态值.When st_ilg1=next_statenext_statenext_state=st3;END case;,.TYPE states IS(st0,st1,st2,st3,st4,st_ilg1,st_ilg2,st_ilg3);SIGNAL current_state,next_state:states;.COM:PROCESS(current_state,state_Inputs)-组合逻辑进程BEGIN CASE current_state IS-确定当前状态的状态值.WHEN OTHERS=next_state=st0;END case;
35、,(2)利用others语句对未提到的状态作统一处理,(3)如果系统容错要求不高,为了降低成本,可以不做非法状态处理。,WHEN OTHERS=next_state=“XXX”;,实 验,用状态机对ADC0809的采样控制电路的实现,(1)实验目的:用状态机对A/D转换器ADC0809的采样控制电路的实现。,(2)实验原理:ADC0809的采样控制原理(自己查资料),(3)实验内容:利用MAX+plusII进行文本编辑输入和仿真测试;给出仿真波形。最后进行引脚锁定并进行测试,硬件验证电路对ADC0809的控制功能。(源程序附后),ADC0809的工作时序及引脚图,LIBRARY IEEE;US
36、E IEEE.STD_LOGIC_1164.ALL;ENTITY ADCINT IS PORT(D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);-ADC0809的8位转换数据输出 CLK,EOC:IN STD_LOGIC;-CLK是转换工作时钟 LOCK1,ALE,START,OE,ADDA:OUT STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ADCINT;ARCHITECTURE behav OF ADCINT ISTYPE states IS(st0,st1,st2,st3,st4,st5,st6);-定义各状态子类
37、型 SIGNAL current_state,next_state:states:=st0;SIGNAL REGL:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL LOCK:STD_LOGIC;-转换后数据输出锁存时钟信号 BEGINADDA=1;LOCK1=LOCK;,源程序:,PRO:PROCESS(current_state,EOC)BEGIN-规定各状态转换方式 CASE current_state IS WHEN st0=ALE ALE ALE ALE ALE ALE ALE=0;START=0;OE=1;LOCK=1;next_state=st0;,WHEN
38、 OTHERS=ALE=0;START=0;OE=0;LOCK=0;next_state=st0;END CASE;END PROCESS PRO;PROCESS(CLK)BEGIN IF(CLKEVENT AND CLK=1)THEN current_state=next_state;-在时钟上升沿,转换至下一状态 END IF;END PROCESS;-由信号current_state将当前状态值带出此进程,进入进程PRO PROCESS(LOCK)-此进程中,在LOCK的上升沿,将转换好的数据锁入 BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL=D;END
39、 IF;END PROCESS;Q=REGL;END behav;,状态机的仿真波形(功能仿真),设置d的波形时注意在eoc的上升沿处要设置具体的数值.其它的时候可设置为高阻态.,测试步骤:根据附图2-7,建议引脚锁定为:START接PIO34,OE接PIO35,EOC接PIO8,ALE接PIO33,状态机时钟CLK接clock0(PIN2,可选“65536Hz”或更高),ADDA接PIO32(ADDB和ADDC都接GND),ADC0809的8位输出数据线接PIO23PIO16,锁存输出Q显示于数码8/数码7(PIO47PIO40).,设目标器件是EPF10K10,建议选择实验电路结构图NO.
40、5(即结构图NO.5,附图2-7,由该图可见,ADC0809的转换时钟CLK已经事先接有750KHz的频率),将实验系统左下角选择插针处的“转换结束”和“A/D使能”用跳线帽短接。下载目标文件后,可用螺丝刀旋转实验系统左下角的电位器,以便为ADC0809提供变化的待测模拟信号,这时数码管8和7将显示ADC0809采样输出并被锁存的数字值(16进制)。,引脚对应情况(下载时选择模式5)实验板位置 信号 通用目标器件引脚名 目标器件EP10K10PLCC84引脚号 1、start PIO34 592、oe PIO35 603、eoc PIO8 174、ale PIO33 585、adda PIO3
41、2 546.clk0 clk CLOCK0 27、d7 PIO23 38 d6 PIO22 37 d5 PIO21 36 d4 PIO20 35 d3 PIO19 30 d2 PIO18 29 d1 PIO17 28 d0 PIO16 27,引脚对应情况(下载时选择模式5)实验板位置 信号 通用目标器件引脚名 目标器件EP10K10PLCC84引脚号 8、数码管8 q7 PIO47 79 q6 PIO46 78 q5 PIO45 73 q4 PIO44 729、数码管7 q3 PIO43 71 q2 PIO42 70 q1 PIO41 67 q0 PIO40 66,Clk0 可选 65536H
42、Z或更高,实验板中ADC0809电路原理图,注意与目标器件的连接方法,选择实验电路模式5!,ADC0809,0809将0-5V输入模拟电压通过FPGA中的状态机转换输出为16进制数:“9D”,旋转此电位器可改变0809的输出,注意转换输出已改变为:7C,本章小结,.掌握Mealy型和Moore型状态机的设计方法,2.掌握状态编码的方式,4.利用状态机对ADC0809的采样控制电路实现,3.剩余状态的处理方法,作业:,P210 1、2、3、4、6,第6章结束,引脚对应情况(下载时选择模式1)实验板位置 信号 通用目标器件引脚名 目标器件EP10K10PLCC84引脚号 1、键8 start PI
43、O49 812、健7 clk PIO48 803、键2 b7 PIO7 16 b6 PIO6 11 b5 PIO5 10 b4 PIO4 94、键1 b3 PIO3 8 b2 PIO2 7 b1 PIO1 6 b0 PIO0 55、键4 a7 PIO15 25 a6 PIO14 24 a5 PIO13 23 a4 PIO12 22,实验7.1移位相加8位硬件乘法器电路设计(4课时),引脚对应情况(下载时选择模式1)实验板位置 信号 通用目标器件引脚名 目标器件EP10K10PLCC84引脚号 6、键3 a3 PIO11 21 a2 PIO10 19 a1 PIO9 18 a0 PIO8 177、数码管8 dout15 PIO31 53 dout14 PIO30 52 dout13 PIO29 51 dout12 PIO28 508、数码管7 dout11 PIO27 49 dout10 PIO26 48 dout9 PIO25 47 dout8 PIO24 399、数码管6 dout7 PIO23 38 dout6 PIO22 37 dout5 PIO21 36 dout4 PIO20 358、数码管5 dout3 PIO19 30 dout2 PIO18 29 dout1 PIO17 28 dout0 PIO16 27,