SPIN在同步时序逻辑中的应用.pdfVIP

  • 5
  • 0
  • 约1.56万字
  • 约 4页
  • 2018-06-05 发布于河南
  • 举报
SPIN在同步时序逻辑中的应用

计算机科学2005Vo1.32Ns.8(增刊) SPIN在同步时序逻辑中的应用 ApplicationofSPINinSynchronousSequentialLogicCircuits 章 超 李彩虹 李 廉 (兰州大学信息科学与工程学院 兰州730000) Abstract SPINisamodelcheckerwhichtargets.efficientsoftwareverification.Thispaperpresentsanapplicationof SPINinsynchronoussequentiallogiccircuitswhicharedesignedwithVerilogHDL.Inordertousesoftwareverifi- cationtoolstoassisthardwaredesign,twocircuitsaremodelledinPROMELAandverifiedwithSPIN. KeywordsSynchronoussequentiallogiccircuits,Verilog,SPIN,PROMELA 有错误为止。 1 引言 2 应用实例 同步时序逻辑是指表示状态的寄存器组的值只 可能在唯一确定的触发条件发生时改变,而异步时 本节讲述了如何将SPIN应用到同步时序逻辑 序逻辑是指触发条件由多个控制因素组成,任何一 中。鉴于说明问题的方便,也限于篇幅,这里选取两 个因素的跳变都可以引起触发。同步时序逻辑比异 个较小的同步时序逻辑电路作为实例。在解题的过 步时序逻辑具有更可靠、更简单的逻辑关系,因此在 程当中,给出详细的分析过程,并重点讲解了 实际设计中应尽量避免使用异步时序逻辑。 PROMELA建模过程,最后用SPIN验证了电路的 VerilogHDI.是目前应用最广泛的一种硬件描 某些LTL属性。 述语言,用于数字电子系统设计。用VerilogHDL 例1 用 Verilog设计一个微波炉 (micro- 设计的可综合模块,必须避免使用异步时序逻辑,这 wave),满足下列要求: 不但是因为许多综合器不支持异步时序逻辑的综 使用微波炉前,先打开门(opendoor),然后放 合,而且也因为用异步时序逻辑确实很难来控制由 人食物,最后关上门(closedoor)。不要将金属容器 组合逻辑和延迟所产生的冒险和竞争。 放人炉中。按下开始(start)按钮,微波炉将加热 SPIN是贝尔实验室开发的一个优秀的模型检 (heat)30秒,然后开始烹饪(cooking)。一旦烹饪结 验器,主要面向分布式软件系统的验证。SPIN的 束(done),则微波炉停止工作(stop)。在烹饪过程 规范语言是 PROMELA,并使用线性时序逻辑 中打开门微波炉也会停止工作。如果打开门的时候 (LTL)表示属性,使用偏序规约方法来减少系统状 微波炉已经开始工作,则会发生错误(error),此时 态规模。 要用到重置(reset)按钮。 借助协议验证工具来辅助硬件设计的观点早在 解:①根据题目要求,用Verilog描述micro- wave的状态机如下: 文 1〔」中就已经提出来了。按照这种思想,本文将 SPIN应用到硬件设计中做了有益的尝试。我们选 modulemicrowave(clock,reset,openDoor,closeDoor, done); 取实际设计中广泛使用的同步时序逻辑作为

文档评论(0)

1亿VIP精品文档

相关文档