CPLD初学者入门知识总结
CPLD按英语说是复杂可编程逻辑器件,对于一个硬件工程师来说,能应用cpld技术是一个十分强大的能力。它的应用可在根本上解决许多数字电路设计的问题,能大幅度改变设计思想,大幅度提高工作效率,甚至可以把以前的数十颗普通分立芯片的功能用一个芯片实现。它还有一个十分优秀的优点,在硬件原理设计和布线的时候,不用考虑引脚的顺序,可从布线方便的角度安排需要的信号位置,使得布线难度大幅度降低。由于布线难度下降,直接带来布线优化的好处。本文就cpld初学者面对的问题做一个简单描述。希望对有志于学习cpld的硬件工程师有所启发。
1:首先进行的准备是有针对性的学习cpld物理构造和资源
先不要着急去买开发板,不要着急写逻辑。了解硬件本身更加重要。Cpld是一个很大的范畴,初学者会淹没在众多厂家、众多资料的海洋中。针对这个问题,笔者建议大家有所针对的进行知识获取,推荐大家以altera的maxii系列cpld为突破口,首当其冲的就是EPM240这颗芯片。把它吃透,则maxii系列的其它都很好理解了,构造都一样,只是资源增加而已。其它厂家的也好用了,因为它们都是大同小异的。之所以选择emp240是因为它应用已经很广泛,市场上容易买到,而且价格便宜,批量买只有8元/片左右。
Emp240顾名思义具有240个宏单元。简单理解就是有240个触发器,或者理解成240个bit的存储单元。这样都好理解,以后对工程应用就容易估算容量了。对于工程来说,一般这么做,首先依据需求设计引脚的数量,然后再在开发环境中进行逻辑编写、软仿真,这样,在硬件完全没有开始之前,就能把逻辑部分全部设计完,只差物理验证一步了。仿真分2布,写逻辑时用quartus自带的仿真即可。逻辑写完之后,最好用modelsim。Modelsim是专门的仿真软件,功能十分强大,但对初学者来说,最好先不要介入这个领域。先把cpld用上是最主要的。
好了,这样就把目标缩小到一个点上了。需要花功夫把240的相关资料吃透,把quartus用熟。到这里,一分钱都不用花。时间用在3个点上:1、240的构造和资源,2、quartus软件使用,3、veriloghdl语言学习。
设计中,如果你的逻辑需要100个单元,编译后会发现用掉120个单元,这是cpld内部布线需要。作为实际应用,必须要留20%以上的富余量,比如编译结果指示用220个单元,这时就不要用240了,应该使用570,因为240的富余量不够。
一个小技巧,针对EPM240和570来说,常用的封装是T100的,就是TQFP100,这2个芯片的封装是向下兼容的,因此,设计时,即便决定使用240,也要按570去画板子。焊接是兼容的,同时万一240不够了,可以改焊570。
2:向应用cpld走近一步,用开发板练习。
有了上面的基础,可以投资买开发板了,一般卖板子的都配套好软件和编程器了。针对240的开发板可能很少,可能570的好买。注意买cpld的开发板,不要急于用fpga的,学会cpld之后,再用fpga就容易多了。要一步一步来。570的开发板,带仿真器,带软件,带练习光盘,一整套下来估计200-300元人民币。这个资金对你要学会的技术来说,微不足道。
开发板光盘有许多例子程序,可以先跑跑看,很容易就上手了。对于初学者来说,cpld技术是一个很大的领域,切记不要急于求成,上来就弄个fpga去加载视频编解码算法,那会十分困难。建议先从最简单的开始,用240替代设计中使用的一些74芯片、完成部分软件功能等,熟能生巧。这个技术绝不是短时间就能达到多高水平的,必须有积累过程。一开始就啃难度高的,会对信心造成打击,长时间没有进展,是让一个硬件工程师最为抓狂的事。
对于前期学习准备比较充足的工程师来说,完全可以不买开发板,直接在工程中应用。现在的互联网太方便了,只要你的cpld外围没有接错,由于引脚分布是可编程的,PCB板导致不能用的可能性就大大降低了,鼓励直接自己画PCB去应用。这样掌握得更快。
3:cpld与cpu的接口
这个问题十分重要,因为cpld大部分扮演的是cpu的扩展,替cpu完成外部引脚资源扩展、输入输出时序管理、部分软件功能实现。很少有让一个cpld单独工作的。
Cpld与cpu的接口就十分突出,对于要学cpld的工程师来说,用的cpu可能仅限于51单片机或者arm7系单片机。这种接口算是比较简单了,还是应该循序渐进,从简单的入手,比如用单片机3个io去cpld,由cpld完成74hc138功能,这就是一个简单接口。再进一步,用cpu的p0口和一个io脚接到cpld,用cpld完成373、244、273等功能,这就进了一步,有时序的概念了。最后,用cpu的数据口、晶振、wr、rd、ale等信号接入cpld,把cpld做成几个字节的ram,读写实验。这一关过去之后,cpld与单片机的接口就再无秘密可言了。
与51单片机的接口注意必须深刻理解cpu的工作时序,地址与数据口如何复用,ale信号如何锁存地址等。与arm7的接口相对简单,因arm7比较灵活,对外部接口的管理功能强。
初学者使用cpld的时候,建议在所有io脚的连线中都串联一个51欧电阻,这样会方便测量,更重要的是能保护cpld的io口,更深入的说,能改善高速信号的振铃、信号反射,提高信号完整性。
4:cpld与fpga的简单介绍
Cpld比较简单,fpga更加复杂,在cpld基础上,增加了PLL、硬件乘法器、ram块等硬件资源。更有的fpga直接集成了dsp的硬核。Altera的maxii系列cpld,其内部应用了走线池,因此严格地说它已经属于fpga了。
目前主要的cpld和fpga厂家是altera和xilinx,还有actel等规模稍小。Altera主要面对商用和工业用,其产品性价比稍好,市场应用最为广泛。Xilinx初期定位在宇航级产品,因此,它的芯片具有更好的性能。后来xilinx也面对商业用户了,因此形成了与altera分庭鼎立的情况,两个这么大的厂家,芯片的系列十分类似。建议初学者使用altera的。当然,使用xilinx也无所谓。
Altera的开发环境是quartus,笔者使用的是8.1版,已经老了,但是够用,且不出问题,姑且使用。Xilinx的开发环境是ISE。这些环境本身已经提供了比较完整的仿真功能。但有一个功能更加强大、更加独立的仿真环境是modelsim,它分前仿真和后仿真,由于altera和xilinx的主导作用,因此modelsim提供了这两家的芯片的完整支持。‘前仿真’属于逻辑仿真,所有瞬态时序同步发生,用于初期测试逻辑功能是否正确。‘后仿真’则带有延迟特性,这与芯片内部构造和编译后的内部走线密切相关。这个后仿真,一般情况下就等同于在实际板子上跑的结果。如果在PCB上跑出现问题,则此问题就比较难解决。
软件分两种规范,一个是veriloghdl,一个叫vhdl。前者基本就是c语言的底子,因此对于工程师来说,很容易上手,所以用verilog的人非常多。Vhdl则更加严谨,其语言规范需要一段时间熟悉。如果要长期以hdl语言为伍,则推荐学习vhdl,它的结构更加严谨,能避免比较复杂的问题的发生。听一个在华为的硬件工程师说,华为要求必须熟练一个语言的同时要能看懂另一个语言。
- 节能荧光灯照明标准值
- 居住建筑照明标准值 房间或场所 参考平面及其高度 照度标准值(Lx) Ra 起居室 一
- 01-02 关注:130
- 电源线你是否都了解他们的使用方法?
- 面对如此众多的花样繁多的带插头的电源线你是否都了解他们的使用方法,是不是只是随便找个插座就插上了呢?其实这就是电器隐患啊。在众
- 01-02 关注:141
- 施工用电安全距离与外电防护
- 一、用电管理:
⒈临时用电必须按“《施工现场临时用电安全技术规范》JGJ46-88”编制用电施工组织设计制定安全用电技术措
- 01-02 关注:135
- 施工现场必须采用“三相五线制”供电
- 施工现场必须采用“三相五线制”供电,井必须符合下列要求:
l.由中性点直接接地的专用变压器供电的施工现场,必须采用T
- 01-02 关注:241
- 电表箱装饰画的特点
- 电表箱装饰画,也叫做配电箱装饰画、电闸盒装饰画、电源开关装饰画等多个名字,这些都是根据其使用功能来命名的,电表箱装饰画的主要作
- 01-02 关注:135
- 电器装置的四个装设原则
- 施工现场离不开用电,工程设备、施工机具、现场照明、电气安装等,都需要电能的支持。随着建设工程项目的科技含量和智能化的加强,施工
- 01-02 关注:290
- 家用电器的漏电保护须知
- 在当前的生活当中,家用电器的选择是越来越多,像电热水器,电磁炉,微波炉等等,无论是哪一种家用电器,在漏电保护上要做到全面保障,
- 01-02 关注:123
- 电气工作人员必须熟悉施工用电
- 1. 电气工作人员必须熟悉施工用电安全技术规程,必须具备必要的技术理论知识和实际操作技能,并经考试合格,方可持证上岗工作。
- 01-02 关注:138