两级寄存器和存储器的区别能完全消除竞争冒险吗

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
FPGA设计中几个基本问题的分析及解决.pdf3页
本文档一共被下载:
次 ,本文档已强制全文免费阅读,若需下载请自行甄别文档质量。
文档加载中...广告还剩秒
需要金币:80 &&
FPGA设计中几个基本问题的分析及解决.pdf
你可能关注的文档:
··········
··········
2007年第 5期 安徽 电子信息职业技术学院学报 No.52007 第6卷 总第32期
JOURNALOFANHUIVOCATIONALCOLLEGEOFELECTRONICS&INFORMATIONTECHNOLOGYGeneralNo.32Vo1.6 [文章编号】X 03―02 FPGA设计中几个基本问题的分析及解决 徐 均. 杨红英 蚌埠坦克学院实验中心,安徽 蚌埠 233013 [摘 要]采用FPGA设计数字电路已经成为数字电路系统领域的主要设计方式之一,但在设计过程 中常常遇到时钟、毛
刺、时延等问题,本文就这些问题进行了分析,并提 出相应的解决办法。 [关键词]FPGA~计;VHDL;毛刺;EDA [中图分类号]TN302 [文献标识码]B
O 引言 1.3 多时钟系统 随着半导体技术的飞速发展,FPGA
FieldPro- 许多应用要求在同一个FPGA内采用多个时钟,比如
grammableGateArray 的计算能力、容量以及可靠性也有 两个异步微处理器之间的接 口或微处理器和异步通信通
了很大的提高。它正以高度灵活的用户现场编程功能、灵 道的接 口。由于两个时钟信号之间要求一定的建立和保
活的反复改写功能、高可靠性等优点,成为数字电路设 持时间,所以引进 了附加的定时约束条件,将某些异步信
计、数字信号处理等领域的新宠。但利用FPGA进行设计 号同步化。在许多系统中只将异步信号同步化是不够的,
时会遇到一些共同的问题,这些问题教材一般未给出系 当系统中有两个或两个以上非同源时钟的时候,数据的
统的总结,给初学者的进一步深入带来困难。本文结合作 建立和保持时间很难得到保证,最好的解决办法是将所
者的经验和体会,指出FPGA设计中的一些难点问题,分 有非同源时钟同步化。使用FPGA内部的锁相环 P 模块
析 问题产生的原因并给出解决方案,有利于FPGA设计者 是一个很好 的方法。如果不用
正在加载中,请稍后...你正在使用的浏览器版本过低,将不能正常浏览和使用知乎。2016第三届物联网大会
智能后视镜产品方案对接会
中国LED智能照明高峰论坛
第三届·无线通信技术研讨会
第二届·中国IoT大会
ETFo智能安防技术论坛
移入鼠标可放大二维码
采用有限状态机的飞行器自毁系统时序控制设计
来源:本站整理
作者:佚名日 17:10
[导读] O 引 言&&& 飞行器自毁系统是飞行器的重要组成部分,它具有非常重要的军事及民用价值。飞行器自毁系统主要是实现飞行器在非正常飞行状态时的可靠自毁。飞行器按
O 引 言&&& 飞行器自毁系统是飞行器的重要组成部分,它具有非常重要的军事及民用价值。飞行器自毁系统主要是实现飞行器在非正常飞行状态时的可靠自毁。飞行器按正常状态飞行,如果出现异常可以通过外部的飞行状态参数传感器及自毁电路控制自身自毁。随着飞行器研制技术的不断发展,对飞行器自毁系统小型化、模块化、通用化的要求越来越迫切,CPLD的出现可以满足这一要求。由于CPLD硬件电路的特点,必须研究适合CPLD硬件架构的设计方法,以达到系统在运行速度与资源消耗上的平衡。有限状态机及其技术是实用数字系统设计中实现高效率高可靠逻辑控制的重要途径,有限状态机是一种简单、结构清晰、设计灵活的方法,它易于建立、理解和维护,特别应用在具有大量状态转移和复杂时序控制的系统中,更显其优势。这里针对自毁系统的特点,提出一种符合CPLD结构、基于有限状态机的设计方法。
l 自毁系统硬件设计&&& 硬件设计采用以高性能CPLD芯片为核心的数字电路和高性能运算放大器及飞行参数传感器组为主要元件的模拟电路相结合的方案。系统主要由系统时钟、CPLD控制芯片、飞行参数传感器组、传感器组输出判断与产生电路、自毁控制逻辑、测试模块和电源等模块组成。该设计使用Altera公司的EPM7064SLC44-10芯片,其内部包含有64个宏单元,1 250个可用的系统门,引脚到引脚的逻辑延迟时间为5.0 ns,计数器工作频率可达175.4 MHz。&&& 用CPLD实现上述自毁条件的时序控制逻辑的核心电路及其外围电路如图1所示。CPLD芯片为整个系统的核心,它用来实现计时以及整个系统的时序控制。直流电压变换电路用于将输入的直流电压转换成EPM7064S所需的电压,以及外围电路所需的工作电压。系统时钟电路为计时装置提供稳定的时钟信号及后续分频使用的时钟基准;电平转换电路将飞行器上输入信号进行调理后转换为芯片可识别的TTL/CMOS电平标准;复位电路在系统上电后给控制芯片提供复位信号。
&&& 飞行参数传感器组电路用来实时监控飞行器的各项指标,当飞行状态出现异常时则由传感器组产生相应模拟值到由高性能运算放大器及比较器为主要元件的模拟电路。模拟电路对传感器的输入值进行处理后送到CPLD时序控制模块中。可控开关能通过对CPLD编程实现多路转换,从而使被监控的飞行参数传感器改变,进而改变飞行器的自毁条件。通过CPLD进行飞行器内部时序控制,最后输出的自毁指令输入到飞行控制信号模块中,从而改变飞行器的飞行状态,使之自毁。2 有限状态机模型及选择2.1 有限状态机模型&&& 有限状态机(Finite State Machine,FSM)可以用下面包含5种元素的集合来表示{X,Y,S,f,g},这里S={S1,S2,…,Sk}是FSM中状态的集合;X={X1,X2,…,Xn}是FSM中输入的集合;Y={Y1,Y2,…,Ym)是FSM中输出的集合;f为状态转移函数,表示由输入信号变量X和当前状态S决定下一个状态,即:XY;→S;g为输出函数,表示由输入信号变量X和状态S决定状态机的输出变量Y,即:XS→Y。从上面定义可以看出,有限状态机包含5类基本要素:即状态、输入、输出、转移函数及输出函数。它们分别用矢量函数表示如下:
&&& &&& 不用的分类规则,状态机分类也不同。在实际的应用中,根据有限状态机是否使用输入信号,设计人员经常将其划分为Moore有限状态机和Mealy型有限状态机两种类型。Moore型状态机的输出只与当前的状态有关而与输入无关,而Mealy型状态机的输出不仅与当前状态有关,还与当前的输入有关,它们共同决定Mealy状态机的输出。图2和图3分别表示了Moore,Mealy状态机的结构图。
&&& 有限状态机还有很多分类方法,比如根据复位信号的不同可以分为同步复位状态机和异步复位状态机。根据输出是否寄存分为直接输出、寄存输出、根据状态编码输出等类型。&&& 对于Moore型有限状态机,输出信号将在时钟信号的触发沿到的几个门时延后得到输出值,同时在该时钟周期的剩余时间内保持不变,即使输入信号在该时钟周期内发生变化,输出信号的值也不会改变。由于Moore型有限状态机的输出与当前的输入部分无关,因此当前输入产生的任何效果将会延迟到下一个时钟周期。可见,Moore型状态机的最大优点就是可以将输入部分与输出部分隔离开。&&& 对于Mealy型有限状态机,由于它的输出是输入信号的函数,因此如果输入信号发生变化,则输出可以在1个时钟周期的中间发生改变。与Moore型有限状态机相比,它对输入信号的变化相应要早1个时钟周期。但它也会将输入端口的噪声传递给输出信号。&&& 综合以上几点的考虑,该设计采用Moore型有限状态机实现飞行器自毁系统的时序控制。2.2 毛刺和信号时延处理&&& Moore型有限状态由于有组合逻辑进程的存在,状态机输出信号会出现毛刺(竞争冒险现象);另一方面,如果状态信号是多位值的,则在电路中对应了多条信号线。由于存在传输延迟,各信号线上的值发生改变的时间则存在先后,从而使得状态迁移时在初始状态和目的状态之间出现临时状态,因此出现毛刺。&&& 参考各方面文献,现在消除输出信号的“毛刺”一般可采用3种方案:一是调整状态编码,使相邻状态间只有1位信号改变,从而消除竞争冒险的发生条件,避免了毛刺的产生。这种方案适用于顺序迁移的状态机;二是在有限状态机的基础上采用时钟同步信号,即把时钟信号引入组合进程。状态机每一个输出信号都经过附加的输出寄存器,并由时钟信号同步,因而保证了输出信号没有毛刺。这种方法存在一些弊端;由于增加了输出寄存器,硬件开销增大,这对于一些寄存器资源较少的芯片是不利的;从状态机的状态位到达输出需要经过两级组合逻辑,这就限制了系统时钟的最高工作频率;由于时钟信号将输出加载到附加的寄存器上,所以在输出端得到信号值的时间比状态的变化延时1个时钟周期;三是直接把状态机的状态码作为输出信号,即采用状态码直接输出型状态机,使状态和输出信号一致,使得输出译码电路被优化掉了,因此不会出现竞争冒险。这种方案,占用芯片资源少,信号与状态变化同步,因此速度快。&因此该设计采用状态作为输出信号且带有复位信号的Moore型有限状态机。其结构框图如图4所示。
3 QuartusⅡ环境下有限状态机的设计3.1 系统总体结构&&& 飞行器自毁系统在飞行器起飞后开始工作,并实时监控飞行参数传感器组及计时模块产生的控制信号。图5给出了自毁控制电路的硬件实现方案。在CPLD中实现系统的总体结构如图5所示。CPLD外围的高性能运算放大器为主要元件的模拟电路以及传感器组用来产生时序控制信号(c1,c2,c3,c4,c5),并输入到输入信号处理模块。时钟分频用来产生各个模块工作所需的时钟。计时模块用来产生飞行总时间(tmax)。时序控制模块用来产生自毁输出信号(Output),它是整个系统的控制核心,它的可靠性和稳定性是飞行器能否实现可靠自毁的基础。这里采用状态作为输出信号且带有复位信号的Moore型有限状态机设计时序控制模块实现飞行器可靠自毁。
3.2 改进型有限状态机实现时序控制&&& 飞行器自毁时序控制流程图如图6所示。飞行器自毁系统的时序状态变化由各个传感器的输入及CPLD计时器状态决定。飞行参数传感器组输入不同的状态指令,时序控制系统就可以在不同的状态间变化,其中ST5状态是整个自毁系统的控制输出。根据图6可以得到5个状态触发器的激励方程:
&&& &采用VHDL语言描述这种改进的Moore型有限状态机之前,首先要对Moore型有限状态机的状态进行编码操作。如表1所示,由于有限状态机的输出只有Output,为了在综合时更好地识别这5个不同的状态,需要添加状态位。在表2中添加两个冗余的状态位a,b来区分STl,ST2,ST3,ST4。
3.3 VHDL编程注意事项&&& 本设计采用单进程描述方式,也可以采用两进程描述。用两进程时最好把转移条件判断逻辑和输出逻辑分开,这样有利于综合器优化代码,利于用户添加合适的时序约束,利于布局布线。状态机要有默认状态,这是从状态机的安全性方面考虑的。在状态机的设计中,一般要包含一个初始状态,当芯片上电复位时,状态机能够进入到初始状态。这需要在状态机设计中加入复位信号。
4 电路仿真&&& 在QuartusⅡ环境下,将VHDL文本程序保存为工程,工程文件经编译后即可进行电路仿真。仿真波形如图7所示,从波形结果可以看出,复位信号(reset)有效,使状态机恢复到初始状态,飞行器起飞(off)有效开始,时序控制系统经历了飞行过程中5个不同的状态,如图7中state变量所示。并最终输出自毁指令(Output),VHDL程序设计符合要求。整个时序控制可靠,消除了毛刺现象。在QuartusⅡ环境下,只需要1根下载编程电缆,通过PC机的并行口连接到目标板的JTAG口,将下载信息下载到目标器件中。
5 结 语&&& 仿真及实验结果证明,采用上述的有限状态机思想进行飞行器自毁系统时序控制设计,不但可以减小占用CPLD资源,降低成本,方便测试,并且可以有很好的系统性能。基于有限状态机的飞行器自毁系统定时精度达到纳秒级,可以有效可靠地控制自毁信号输出,有效消除毛刺现象,提高了飞行器自毁系统的稳定性、可靠性。
自毁系统相关文章
自毁系统相关下载
飞行器相关文章
飞行器相关下载
时相关文章
时相关下载
技术交流、积极发言! 发表评请遵守相关规定。
蛇口价值工厂举办2017TechCrunch国际创新峰会上,全球第二大智能可穿戴公司华米科技创始人兼CEO黄汪比较了目前硅谷与深圳的差异,认为硅谷硬件创业在周...
近日见到一则业內重大项目的人事变动消息,由前中芯国际创始人张汝京博士担任总经理、300毫米大硅片项目的上海新昇半导体科技有限公司,重大人事变...
创新实用技术专题
版权所有 & 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-

我要回帖

更多关于 通用寄存器 的文章

 

随机推荐