在Protel99SE开发软件中实现FPGA/CPLD系统的设计

1、引言
在以往的dsp设计中,采用ttl、cmos电路和专用数字电路进行设计时,器件对电路的处理功能是固定的,用户不能定义或修改其逻辑功能。但随着电子技术的发展和工程对所需功能复杂程度的进一步提高,系统将需要很多芯片,这样,在芯片之间,以及芯片和印刷电路板的布线和接点也相应增多,因而导致系统的可靠性下降和功耗增加,这样也就越来越不能满足工程实际的需要。而大规模可编程逻辑器件pld:programmable logic device 和基于芯片的edaelectronic design automatic电子设计自动化 工具软件则可以解决这一问题。半导体技术的提高使asicapplication specific integrated circuit:特定用途集成电路 设计技术日趋完善,同时可编程逻辑器件在结构、工艺、集成度、功能、速度、灵活性等方面的改进和提高,也为高效率、高质量、灵活设计数字系统提供了可靠性。此外,cpldcomplex pro-grammable logic device 或fpgafield programmable array 技术的出现,又为dsp提供了一种崭新的方法,并使cpld或fpga设计的dsp系统具有良好的实用性和极强的实时性。
在protel99se嵌套的pld99的开发环境下,可编程逻辑器件设计可以直接面向用户要求,自上而下地逐层完成相应的描述、综合、优化、仿真与验证,直到生成能够下载到器件的jed文件,该方法结构严谨,易于操作,其设计流程如图1所示。
2、实例介绍
在某工程中,要求利用syn0,syn1,syn2,syn3,syn4,syn5作为同步信号进行64个通道的选择,以使64个通道在不同时刻进行工作,电路产生的发射脉冲连接在64个双晶探头上,然后将双晶探头产生的原始回波信号a1,b1,c1,d1经过ad8184四选一开关
输出到信号板进行处理。
3、设计过程
3.1 确定设计目的
由于每一通道的电路都是相同的,考虑到硬件电路以及电路板容量的问题,可先将64个通道分成16组,即每块电路pcb板设计四个通道,这16组利用syn2,syn3,syn4,syn5和拨码开关s1选通,然后利用syn0,syn1产生选通每块电路板的四个通道的选通信号a0、a1和输出使能en,其电路原理如图2所示,信号的先后次序及逻辑关系见图3。
3.2 pld器件的选择和输入输出的确定
由于cupl语言与器件和生产厂家无关,根据设计目的和要求,最简单、最常用的gal22v10可以作为目标器件。根据gal22v10的技术资料和器件各个管脚的定义,可将同步信号syn0,syn1,syn2 ,syn3,syn4,syn5和拨码开关s1的四个管脚作为输入信号,即选择2~11为输入管脚,13脚直接接地,14~20为输出管脚,其中14~17脚用来进行通道选择,18、19脚作为ad8184的选通信号,20脚作为ad8184的输出使能,参见图2。
3.3 创建包括头信息的源文件
在pld99的开发环境下,根据上述设想及管脚分配,利用protel99se模板和硬件描述语言cupl定义输入输出管脚,以创建包括头信息的文本文件tan-shang.pld,然后用cupl语言写出如下的中间变量逻辑式和逻辑等式注:由于描述变量en的乘积项过多,故将变量en分成中间变量en1和en2 ,并完善文本文件。经过一系列设置后便可编译原文件,编译成功后会提示compilation successful,方法如下:
/** declarations and intermediate variables **/
en1=!(k1 & k2 & k3 & k4 & syn2 & syn3 & sy
n4 & syn5
#!k1 & k2 & k3 & k4 & !syn2 & syn3 & syn4
& syn5
#k1 & !k2 & k3 & k4 & syn2 & !syn3 & syn4
& syn5
#!k1 & !k2 & k3 & k4 & !syn2 &!syn3 & syn4
& syn5
#k1 & k2 & !k3 & k4 & syn2 & syn3 & !syn
4 & syn5
#!k1 & k2 & !k3 & k4 & !syn2 & syn3 & !syn
4 & syn5
#k1 & !k2 & !k3 & k4 & syn2 & !syn3 & !s
yn4 & syn5
#!k1 & !k2 & !k3 & k4 & !syn2 &!syn3 & !
syn4 & syn5 
en2=!(k1 & k2 & k3 & !k4 & syn2 & syn3
& syn4 & !syn5
#!k1 & k2 & k3 & !k4 & !syn2 & syn3 & sy
n4 &!syn5
#k1 & !k2 & k3 &!k4 & syn2 &!syn3 & syn
4 & !syn5
#!k1 & !k2 & k3 & !k4 & !syn2 & !syn3 &
syn4 & !syn5
#k1 & k2 & !k3 & !k4 & syn2 & syn3 &!syn
4 & !syn5
#!k1 & k2 & !k3 & !k4 & !syn2 & syn3 & !
syn4 &! syn5
#k1 & !k2 & !k3 & !k4 & syn2 &!syn3 & !syn
4 & !syn5
#!k1 & !k2 & !k3 & !k4 &!syn2 & !syn3 &!syn
4 &!syn5);/** logic equations **/
en=en1&en2
a1=!syn1 &!en
a0=!syn0 &!en
a=!a1&!a0& !en
b=!a1&a0& !en
c=a1&!a0& !en
d=a1&a0&!en
3.4 设置仿真向量
通过创建仿真测试文件tanshang.si可进行仿真测试,当编译和仿真成功后,即可得到可下载到可编程逻辑器件的jed文件。该仿真测试文件tanshang.si如下:
order:syn5,syn4,syn3,syn2,syn1,syn
0,k4,k3,k2,k1,oe,en,a1,a0,a,b,c,d;
vectors:
00000000001lhhlllh
00000100001lhlllhl
00001000001llhlhll
00001100001lllhlll
从仿真结果很明显地可以看出:拨码开关的四位k1,k2,k3,k4分别代表00~0f(十六进制码)这16组,而每组的四个通道的输出为a,b,c,d;由于syn0,syn1,syn2,syn3,syn4,syn5可组成00~3f(十六进制码)共64个通道,从而实现了利用syn0,syn1,syn2,syn3,syn4,syn5分时选通64个通道回波信号的功能。由于en始终为低电平信号,因此保证了ad8184的选通信号能够起作用。
4、结论
利用advanced protel pld99的硬件描述语言cupl进行pld设计,具有设计简单、可操作性强的优点,在采用可编程逻辑器件进行系统设计时,由于其硬件描述语言cupl能够定义内部逻辑和外接管脚的功能,而且在设计中根本不必考虑逻辑器件内部连线和组合逻辑阵列?interconnect and combinato-rial logical?,再加上除了系统行为和功能描述外,所有设计过程都可以用计算机自动完成,所以,通过可编程逻辑器件?fpga?等开发工具,在实验室就可以设计出专用的集成电路,从而真正实现电子设计自动化。由此可见:该方法并为数字系统的设计提供了非常方便的手段,灵活地解决了众多复杂的工程实践问题,从而可大大缩短研发时间。


上拉电阻有什么作用如何选择上拉电阻
富士通推出IOTA的概念验证PoC,用于制造产业的稽核追踪程序
大幅面扫描仪技术术语:Gigabit Ethernet(千兆
世博会各场馆半导体照明技术的应用
USB转高速串口芯片CH343
在Protel99SE开发软件中实现FPGA/CPLD系统的设计
杨红新:动力电池新周期迎来三大方面的压力与挑战
拉绳传感器是什么?应用领域有哪些?
智能机器人赋能“智能制造”,助力产业高质量发展
ISE2019第四届英国(伦敦)国际安防与道路交通安全展
基于TPS61185设计的高度集成大尺寸LCD背光技术
边缘计算在云和嵌入式世界之间架起了桥梁
台佑电子:迈进全电动立式注塑机行业的蓝海
Facebook 将自行开发、可支持自家 AI 程序的定制「ASIC」芯片
蓝牙midi和蓝牙音频或者蓝牙audio有什么区别呢
三星S9勃艮第红版评测 值得你多看几眼的优秀手机
2025年智能家居设备价值将超2300亿美元
地下车库一氧化碳浓度监控系统的作用
摩托罗拉168VA手机汽车充电器剖析电路图
怎样看电路板的电流方向是否正确