Electronics 版 (精华区)

发信人: whynot (精诚所至,金石为开), 信区: Electronics
标  题: 可编程系统器件PSD的逻辑仿真研究
发信站: 哈工大紫丁香 (Sun Sep 19 14:09:21 1999), 转信

   电子技术应用
APPLICATION OF ELECTRONIC TECHNIQUE
1999年 第3期 No.3 1999


-------------------------------------------------------------------------------

可编程系统器件PSD的逻辑仿真研究

唐义良 王心远 邹道元 崔玉龙

  摘 要:研究了现场可编程系统器件PSD501的逻辑仿真。通过具体的仿真实例,得出
在PSD器件的设计中,能够利用仿真验证器件的功能,避免了设计中的缺陷,提高了硬件
电路设计水平。
  关键词:PSD现场可编程系统器件 Verilog HDL硬件描述语言 逻辑仿真

  可编程逻辑器件PLD、通用阵列逻辑GAL等以其速度快、集成度高、具有用户可定义逻
辑功能、可重复编程和擦写等特点已被广泛应用于数字逻辑系统设计中。这些器件的灵活
性和通用性使得它们成为研制和设计数字系统的最理想选择。但PLD、GAL等只能完成局部

逻辑功能,实现硬件电
路的部分化简。
  随着高级逻辑器件应用技术的发展,现场可编程系统器件PSD系列在数字控制系统的
设计中显示出强大优势。PSD系列器件除具备作为核心的可编程逻辑PLD之外,还具备总线
控制、存储器、计数器/定时器、中断控制器、I/O端口等功能。因此应用PSD和单片机组
成两芯片控制器的硬件规
模大大简化,可提高装置的可靠性。

1 PSD系列器件的内部构造
  PSD系列现场可编程系统器件是美国WSI公司的产品。其中PSD5系列器件把单片机需要
的外围扩展电路都集成在一个封装内,可以减少硬件电路的元器件数目,缩短产品开发时
间。PSD501器件内部构造包括以下几部分:
  (1)作为核心的可编程逻辑PLD,由译码PLD、通用功能PLD、外设PLD构成,可由开发
工具编程实现特定的设计。
  (2) 总线控制逻辑经软件构造后能够直接译码80C196KC微控制器的总线控制信号,不
需要其他附加连接逻辑。
  (3) 内含256K位的EPROM、16K位的SRAM,可构造为8位或16位数据总线宽度。
  (4) 40个I/O引脚,分配给端口A、B、C、D、E。每个引脚可以单独构造。
  (5) 具有8级中断请求输入的中断控制器。
  (6) 四个16位计数器/定时器。

2 PSD器件的开发方法
2 PSD器件的开发方法为研制和设计数字系统的最理想选择。但PLD、GAL等只能完成局部t
  为了在数字控制系统中应用PSD器件,首先应有相应的软件集成开发环境。本文利用
WSI公司的PSDsoft软件完成PSD器件的特定设计、构造、仿真和电气编程。具体开发过程
可按照以下几个步骤进行:
  (1)编写PSDabel源文件,对PLD实现的特定逻辑功能进行描述性的设计。
  (2)配置PSD器件的总线接口方式,与配合使用的单片机相一致。
  (3)编译上述两个步骤的设计和配置信息,产生能够下装到通用编程器进行器件电气
编程的目标文件和逻辑仿真所必要的熔丝图文件(FUSE文件)。
  (4)编写Verilog HDL的仿真激励文件,对PSD器件的特定构造模型进行逻辑仿真,以
检验设计和配置的正确性。
  (5)仿真验证设计和配置正确之后,对PSD器件进行电气编程,完成设计。

3 PSD器件的逻辑仿真
  在PSD器件的特定设计中,逻辑仿真起着重要的作用。而在此之前的设计中,只是构
造了特定的逻辑关系。对于PSD器件之类的高密度可编程器件,实现特定逻辑需要复杂的
内部连接,在设计过程中可能存在隐含错误或故障,如总线竞用、竞争/冒险等。而PSD内
部节点的状态基本上是不
可观测的。这就要求能够对于器件的特定设计进行验证。PSDsoft开发软件内包含的逻辑
仿真工具PSD silosIII能够实现芯片的行为级仿真。
  所谓逻辑仿真就是利用计算机的巨大数据处理能力,把外部激励信号施加于用硬件描
述语言表示的特定复杂数字逻辑电路的数学模型,然后观察数学模型在这些信号作用下的
输出行为,从而判断器件设计是否实现了预期的功能。经过逻辑仿真以后证明是正确的特
定设计,才可用相对应
兄坪蜕杓剖窒低车淖罾硐胙≡瘛5玃LD、GAL等只能完成局部t
的目标文件进行电气编程,写入PSD器件。显然对PSD器件进行逻辑仿真需要以下的信息:
  (1) PSD器件内部各基本单元的数学模型,即器件的库模型,它由PSDsoft开发软件随
机提供。
  (2) PSD器件实现特定设计时内部基本单元之间的连接关系。它已经在PSD器件逻辑仿
真前由编译产生,即熔丝图文件。
  (3) 作用于数学模型的外部激励信号。由设计者按照与PSD器件配合使用的单片机的
时序编写仿真激励文件。
  本文对PSD器件的逻辑仿真研究主要是进行行为级仿真。对芯片特定设计的整体功能
、行为特性进行模拟单片机的操作,然后观察输出结果确定是否存在错误。PSD器件的库
模型和PSDsoft软件生成的特定设计的数学模型是Verilog HDL语言形式的。Verilog
HDL是一种行为和结构化的硬件描述语言。它不仅可以描述器件构造的内部逻辑连接,还
可以描述设计的功能。在PSD器件的逻辑仿真过程中,主要用它作为行为语言来编写仿真
激励文件。
  在仿真激励文件中,设定PSD器件与单片机配合使用时的时序。如假定某数字控制系
统硬件电路是由80C196KC单片机和PSD器件组成的16位系统,工作于16MHz的时钟频率。此
时,模拟单片机访问PSD器件内部的EPROM和RAM时的信号,形成如下一个具体的写任务。
task write (addrbus,bhevalue,datain);
input[15:0] addrbus;
input[15:0] datain;
input bhevalue;
 begin
  #20 ale =1;      //Latch the address lines
ch the address lines瘛5玃LD、GAL等只能完成局部t
   fulladr=addr bus;   //Setup the right addres
    bhe =bhevalue;  #60 ale=0;       //Ale inactive
  #20 adio=datain; //Write operation
  #80 wr=0;     //Write pulse
  #80 wr=1;     //Write ends
  #10 adio=Z16;bhe=Z;
 end
endtask
  同理还可以模拟单片机通过PSD器件提供分离的地址总线,以8位数据总线宽度访问另
外附加RAM时的信号,形成另外一个不同的写任务。以及单片机读RAM单元时的信号形成一
个读任务。
  另外,PSDsoft软件提供的数据分析器能够把逻辑仿真运行后的数据结果以波形的方
式显示,从而使用户能够测试仿真结果。这实际上就实现了一种软件示波器的功能,将原
本难以观测的高频数字电路的时序显示出来,可以更加直观的发现设计中可能存在的缺陷


4 PSD器件的逻辑仿真实例
  图1为逻辑仿真对四块不同EPROM单元的读操作。可见,在每个EPROM单元读选通时,
相应的片选信号es0、es1、es2、es3转换为高电平。仿真前,Verilog
HDL数学模型默认的EPROM单元中存储的数据内容出现在数据总线上。PSD器件内部的地址
锁存器把地址总线从数据/地址总线中分离,并且一直保存到每一次读操作的结束。故片
选信号也直到读操作结束才失效,但读信号rd是在地址建立后一定时间才有效。对于字单
建立后一定时间才有效。对于字单t
元的操作,PSD器件译码
输出的总线宽度信号bus_wd为高电平,故由单片机来的高位字节允许信号bhe为低电平。
地址19FEH单元的读出内容为0123H,对应es0块EPROM。其余依此类推,地址246CH单元的
读出内容为4567H,对应esl块EPROM;地址59FDH单元的读出内容为89ABH,对应es2块EPR
OM;地址79FDH单元的读出
内容为CDEFH,对应es3块EPROM。




图1

  图2中第一个和第二个时序为对PSD器件内部I/O端口寄存器的写操作,用来初始化PC
端口。控制寄存器C012H单元写入字节00H,置PC端口为地址输出模式,方向寄存器C016H
单元写入字节FFH,置PC端口为输出模式。此后PC端口就工作于锁存的低8位地址总线输出
方式。这两个时序中,cs
iop信号为高电平,表示选通内部I/O端口寄存器。从此后的三个写操作时序,可以看出端
口PC各个引脚(图2中addr7,……,addr0)的电平状态与地址总线的低8位一致。PSD器件
内部的SRAM工作于16位数据总线宽度,SRAM的读/写操作存在三种可能,如表1所示。表1
中,bhe为80C196KC单片
机的高位字节允许信号,a0为地址总线的最低位,d15,……,d0对应16位数据总线的各
位。
位。号也直到读操作结束才失效,但读信号rd是在地址建立后一定时间才有效。对于字单t
  图2中第三个时序为对PSD器件内部SRAM中偶字节地址单元A010H的写操作,欲写入的
数据27H在地址锁存之后出现在数据总线的低8位。此时的bhe信号为高电平。第四个时序
为对PSD器件内部的SRAM中奇字节地址单元A011H的写操作,欲写入的数据5AH在地址锁存
之后出现在数据总线的高8
位,此时的bhe信号为低电平。第五个时序为对PSD器件内部的SRAM中地址单元A7FEH的字
写操作,欲写入的数据5A27H在地址锁存之后出现在16位宽度数据总线上,此时的bhe信号
为低电平。在第三、四、五时序时,rs0变换为高电平,表示SRAM的片选信号有效。这三
个时序的状态与表1一致





图2

表1 80C196KC单片机16位数据总线的读/写操作

bhe a0 d15-d8 d7-d0
0 0 奇字节 偶字节
0 1 奇字节 —
1 0 — 偶字节

位。号也直到读操作结束才失效,但读信号rd是在地址建立后一定时间才有效。对于字单t
  图3为几个逻辑时序的组合。第一个时序为SRAM中A476H单元写入字5A27H的操作,其
中rs0信号在此期间为高有效。第二个时序为对PSD器件外围附加8位RAM的偶字节地址单元
8676H写操作。单片机先送出地址到数据/地址总线,在经过一定的延迟时间后,单片机数
据/地址总线中低8位送
出数据,数据/地址总线的高8位保持原来的高位地址不变。第三个时序为对相同外围8位
双端口RAM的奇字节地址单元8676H写操作。



图3

  因为单片机在对外围双端口RAM访问时是8位总线方式,buswd信号在这两个时序时为
低电平,表示单片机要切换为8位数据总线宽度。此时,bhe信号的电平与奇字节或偶字节
地址单元的寻址没有关系,故在图中未示出。ram_cs1为PSD器件输出的高电平信号,用于
在以上两个时序时为该R
AM提供片选。第四、五个时序为对另外一片外围8位附加RAM的写操作。具体时序与第二、
三步操作基本一致。ram_cs2为PSD器件输出的低电平信号,用于在这两上时序时为对应的
外围8位RAM提供片选。第六个时序为对在第一个时序时写入SRAM的A476H地址单元的数据
进行读操作验证,可以
看到,5A27H出现在数据总线上,总线宽度信号buswd转换为高电平,使单片机恢复到16位
数据总线宽度方式工作。
  可编程系统器件PSD应用于数字控制系统的设计中,可组成硬件仅有PSD与微控制器的

两芯片系统,降低了成本,提高了可靠性。应用PSDsoft软件对器件的特定设计进行行为
级的逻辑仿真,能够验证器件的功能,避免了设计中的缺陷,提高了数字控制系统硬件电
路的整体水平。

作者单位:唐义良北京清华大学(100084)
     王心远 邹道元  天津河北工业大学(300130)
     崔玉龙  『颖 保定华北电力大学(071000)

参考文献

 [1]PSD Programmable Peripherials design and Application Handbook.WSI Corpor
ation, 1996
 [2]PSDsoft PSDabelTM User Manual.WSI Corporation,1996
 [3]Software User′s Manual.WSI Corporation,1996
 [4]孙涵芳.INTEL 16位单片机.北京:北京航空航天大学出版社,1995

收稿日期:1998-03-16

  
--
-----------------------------------------------
                 因一个词的力量
                 我重新开始生活
                 我生来就认识你
                 要把你称作
                           自由

※ 来源:·饮水思源站 bbs.sjtu.edu.cn·[FROM: 202.120.8.11]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: whynot.bbs@bbs.sjtu.]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:8.983毫秒