
Perl: 有同事熟悉Perl,用Perl编写脚本在目录里搜索含固定字符串的文件。然后所有AHB Backbone RTL代码都是用Perl脚本自动生成的。
Python: 有同事喜欢Python。用Python解析XML,利用预定义模版生成UPF文件。
Tcl/tk: 有一个同事喜欢用Tcl。他觉得clearcase原生命令不够人性,用Tcl按照自己的习惯重新写了一些命令。现在大家都在用。每个大模块的DfT设定非常相似,所以所有DfT有关的代码我们都用Tcl来生成,脚本也是这个同事写的。tk是Tcl的图形化界面。理论上你可以用它开发EDA工具。
tcl一般是工具语言,EDA工具都按这种格式下约束,tcl本身就是为了配合工具使用的,没有太大的独立价值。perl一般是黑科技,公司自己内部开发脚本,用来做一些极其强大的文字处理,减少重复性工作。比如修ECO,将小design整合成大design,自动跑各种随机化的仿真,极其有用。tcl没什么语法,谈不上掌握。perl需要认真学,越精通越好。
IC设计就是电路设计,与程序设计没有直接关系!当然,在复杂一点的集成电路里,一般都会有MCU在上面运行程序,这时电路设计就与程序设计相关上了。程序设计的语言有很多,一般MCU都有自己的汇编语言,也可用C进行关于FPGA和CPLD:1.CPLD早出来,是基于乘积式的
FPGA晚出来,是基于查表式的,
就是说内部结构不一样
2.乘积式对于每次输入都很勤劳的算一遍
查表式根据输入查找对应的结果,是很偷懒的一种
查表式对应的结果哪里来?
就是由EDA软件来算的,最后将得到的结果配置到FPGA里.
由此可以理解为FPGA就是一个RAM
3.既然是RAM,FPGA就需要配置芯片(譬如FLASH),CPLD不要
4.FPGA门电路数量通常比CPLD多
5.CPLD内部延时固定,FPGA内部延时不固定(在几ns之间变化)
6.如果用于实现组合逻辑,多用CPLD
用于实现时序逻辑,多用FPGA
当然都用FPGA也可以,不过两者各有各自发挥的优势(价格,功耗等方面)
总之,两者各有各自发挥的优势和适用的场合.虽然硬件结构不同,但是对于编程者来说开发语言却是可以相同的,下面说下开发语言:
关于VHDL和verilog:
1.VHDL和verilog综合出来效果是不太一样的, 但是对于一般用户没什么区别
2.verilog的语法比较灵活(有点像C语言),适合设计规模比较小的系统
3.VHDL语法相对来说比较严格,适合比较设计规模比较大的系统
4.国内,欧美用verilog比较多,日本据说用VHDL比较多
我推荐学verilog,比VHDL语法灵活,更容易上手.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)