
《EDA技术与SOPC基础》知识回顾掌握层次化系统设计方法元件例化语句模块化设计明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 知识回顾 掌握层次化系统设计方法 元件例化语句 模块化设计

《EDA技术与SOPC基础》项目8:序刘检测器设计明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 项目8:序列检测器设计

《EDA技术与SOPC基础》本讲知识点状态机结构■状态机的设计方法明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 本讲知识点 状态机结构 状态机的设计方法

《EDA技术与SOPC基础》设计任务采用状态机方法,设计一个易序刘检测器电路设计,实现对一个串行二进制码进行检测。明德博学来实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 一、设计任务 采用状态机方法,设计一个简 易序列检测器电路设计,实现对 一个串行二进制码进行检测

《EDA技术与SOPC基础》d=0d=1rstonezero(q=0)(q=0)d=0d=1d=0d=0threetwo(q=1)(q=0)d=1d=1明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》

《EDA技术与SOPC基础》二设计原理序列检测器主要功能是能够实现对一组或多组由二进制码组成的脉冲序列信号进行识别,完成检测与比对。当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预置的码相同,则输出1,否则输出0。这种检测的工作过程是将输入的串行二进制码与预置数(密码)对应位的码字进行比对,只有当比对结果相同后,才进行下一位的连续比对,只要有任何一位不相等,都将返回第一个码字处重新开始检测。明德博学未实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 二、设计原理 序列检测器主要功能是能够实现对一组或多组由二进制码组成的脉 冲序列信号进行识别,完成检测与比对。当序列检测器连续收到 一组串行二进制码后,如果这组码与检测器中预置的码相同,则输出1, 否则输出0。这种检测的工作过程是将输入的串行二进制码与预置数(密 码)对应位的码字进行比对,只有当比对结果相同后,才进行下一位的连 续比对,只要有任何一位不相等,都将返回第一个码字处重新开始检测

《EDA技术与SOPC基础》三、设计代码例3-19实现了对8位序列数“11100011”的检测,如检测到输入的序列与预置的数相同,则输出1,否则仍然输出0。【例3-19】序列检测器状态机设计module FSMl (clock,reset,din, result);input clock,input reset,input din,output result;reg result,parameters0-0,s1=1,s2=2,s3=3,s4=4,s5-5,s6=6,s7=7,s8-8reg[8:0]Current ST,Next STalways @(posedge clock or negedge reset)beginendif (! reset) begin Current ST <= sO;endelse begin Current ST <=Next ST;end未实创新明德博学
明德 博学 求实 创新 《EDA技术与SOPC基础》 三、设计代码 例3-19实现了对8位序列数“11100011”的检测,如检测到输入的序列与预置 的数相同,则输出1,否则仍然输出0。 【例3-19】序列检测器状态机设计 module FSM1 ( clock,reset,din, result); input clock; input reset; input din; output result; reg result; parameter s0=0,s1=1,s2=2,s3=3,s4=4,s5=5,s6=6,s7=7,s8=8; reg [8:0] Current_ST , Next_ST ; always @(posedge clock or negedge reset) begin if ( ! reset) begin Current_ST <= s0; end else begin Current_ST <= Next_ST; end end

《EDA技术与SOPC基础》always@(Current STordin)result <= 1'bo,begincase (Current ST)sO: begin if ((din ==1'bl)) Next ST <= sl;elseNext ST <=sO:endsl: begin if ((din ==1'bl)) Next ST <= s2:else Next ST <= sO, ends2:begin if ((din ==1'b)) Next ST <= s3;else Next ST <=sO;ends3: begin if ((din == 1'b0)) Next ST <= s4;else Next ST <= sO; ends4: begin if ((din ==1'b0) Next ST <= s5;else Next ST <=-sO,ends5: begin if ((din == 1'b0)) Next ST <= s6;else Next ST <= sO; ends6: begin if (din == 1'bl)) Next ST <= s7;else Next ST <=sO,ends7: begin if ((din == 1'b1) Next ST <= s8,elseNext ST<=sO:ends8:begin Next ST<=sO,result<=1'bl:enddefault:begin result<=1'bO;Next ST <= sO; endendcaseend
明德 博学 求实 创新 《EDA技术与SOPC基础》 always @(Current_ST or din) begin result <= 1'b0; case (Current_ST) s0: begin if ((din == 1'b1)) Next_ST <= s1; else Next_ST <= s0; end s1: begin if ((din == 1'b1)) Next_ST <= s2; else Next_ST <= s0; end s2: begin if ((din == 1'b1)) Next_ST <= s3; else Next_ST <= s0; end s3: begin if ((din == 1'b0)) Next_ST <= s4; else Next_ST <= s0; end s4: begin if ((din == 1'b0)) Next_ST <= s5; else Next_ST <= s0; end s5: begin if ((din == 1'b0)) Next_ST <= s6; else Next_ST <= s0; end s6: begin if ((din == 1'b1)) Next_ST <= s7; else Next_ST <= s0; end s7: begin if ((din == 1'b1)) Next_ST <= s8; else Next_ST <= s0; end s8: begin Next_ST <= s0; result <= 1'b1; end default: begin result <= 1'b0; Next_ST <= s0; end endcase end

《EDA技术与SOPC基础》四、语法解释1.状态机的概述FSM(FiniteStateMachine,有限状态机),是实用数字系统设计中的重要组成部分,也是实现高效率高可靠逻辑控制的重要途径。它自前主要用于高速数据采集和数字信号序列检测方面,是许多数字系统的核心部件,也是实时系统设计中的一种数学模型。状态机广泛应用在高速串行或并行A/D、D/A器件的控制、硬件串行通信接口如RS232、PS/2、USB、SPI的实现、FPGA高速配置电路设计、自动控制领域中的高速过程控制系统、通信领域中的许多功能模块的构建、CPU设计领域中特定功能精简指令模块的设计等。明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 四、语法解释 1.状态机的概述 FSM(Finite State Machine,有限状态机),是实用数 字系统设计中的重要组成部分,也是实现高效率高可靠逻辑控制的重要 途径。它目前主要用于高速数据采集和数字信号序列检测方面,是许多 数字系统的核心部件,也是实时系统设计中的一种数学模型。 状态机广泛应用在高速串行或并行A/D、D/A器件的控制、硬件串 行通信接口如RS232、PS/2、USB、SPI的实现、FPGA高速配置电路设 计、自动控制领域中的高速过程控制系统、通信领域中的许多功能模块 的构建、CPU设计领域中特定功能精简指令模块的设计等

《EDA技术与SOPC基础》2.状态机的结构·说明部分基·主控时序进程本·主控组合进程结辅助进程构明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 2.状态机的结构