(精)VHDL设计初步(新模版)——最新.ppt

《数字电路与系统设计》EDA实验 VHDL设计初步 1 多路选择器的VHDL描述 1 多路选择器的VHDL描述 1 多路选择器的VHDL描述 1 多路选择器的VHDL描述 1 多路选择器的VHDL描述 1.7 IF语句 IF语句与条件信号赋值语句功能相当,有两种基本格式: 1.两分支IF语句: IF 条件表达式 THEN 顺序语句; ELSE 顺序语句; END IF; 1 多路选择器的VHDL描述 1.8 WITH …. SELECT 语句 用WITH …. SELECT语句描述2选1多路选择器 1.8 WITH …. SELECT 语句 选择信号赋值语句的基本格式为: WITH 条件表达式 SELECT 目标信号名=表达式 WHEN 条件; 表达式 WHEN 条件; … 表达式 WHEN 条件; 选择信号赋值语句属于并行语句。 2.6 实现时序电路的VHDL不同表述 如果设clk为时钟信号输入端,以下四条WAIT语句所设的进程启动条件都是时钟上跳沿,所以它们对应的硬件结构是一样的。 WAIT UNTIL clk=’1’; WAIT UNTIL RISING_EDGE(clk); WAIT UNTIL clk’EVENT AND clk=’1’; WAIT UNTIL NOT clk’STABLE AND clk=’1’; VHDL描述中的基本结构与语法: (2) LOOP语句 VHDL描述中的基本结构与语法: 其中标号是可选项;循环变量是一个临时变量,属LOOP语句的局部变量,不需要事先定义;离散范围用来指定LOOP语句中的顺序语句被执行的次数。循环变量从离散范围的初值开始,每执行一次顺序处理语句加1,直到离散范围的最大值。 VHDL描述中的基本结构与语法: 2)WHILE类型 WHILE类型的LOOP语句的书写格式为: [标号]: WHILE 条件 LOOP 顺序处理语句; END LOOP [标号]; WHILE类型的LOOP语句给出了循环执行顺序语句的条件,如果条件为真,则进行循环;如果条件为假,则退出循环。一般综合器通常不支持WHILE类型语句。 Finite State Machine (FSM) - State Diagram Writing VHDL Code for FSM To Determine Next State Transition/Logic: Use a CASE Statement Inside IF-THEN Statement That Checks for the Clock Condition Remember: State Machines Are Implemented Using Registers To Determine State Machine Outputs: Use Conditional and/or Selected Signal Assignments Or Use a Second Case Statement to Determine the State Machine Outputs FSM VHDL Code - Enumerated Data Type FSM VHDL Code - Next State Logic FSM VHDL Code - Outputs FSM VHDL Code - Outputs Using a Case 习 题 习 题 习 题 习 题 习 题 习 题 TYPE m_state IS (st0,st1,st2,st3,st4,st5); SIGNAL present_state,next_state : m_state; 4 有限状态机设计 再例如,某控制器的控制过程可用五个状态表示,则可定义一 个名为m_state的数据类型: 如该控制器需要用到present_state,next_state 的信号,这两个 信号的数据类型为m_state ,则可定义为: 此后,在结构体中就可以对present_state,next_state赋值,如:present_state=st4 3、一般状态机的设计 a、说明部分 例如: SIGNAL current_state,next_state : m_state; … ARCHIT

文档评论(0)

1亿VIP精品文档

相关文档