阿憨(ahan) Verification Specialist
Email:ahan.mail@gmail.com
数字电路(fpga/asic)设计入门1
上一篇 /
下一篇 2005-12-22 21:59:07 / 天气: 晴朗
/ 心情: 高兴
/ 个人分类:IC设计与验证
来
www.dicder.com很长时间了,一直说要给5life一个惊喜,还在坛子上面发了一个檄文说要支持这里到底,一晃还是一个月。今天是冬至,晚上早早下了班回家和anyka一起过节;或许是因为今天把一个程序调通的原因,特别兴奋,上来发了一帖---ahan是何人?现在说说正题,帮助一下刚刚入门的朋友们,也算是学习IC设计三年的一个总结吧。----数字电路(fpga/asic)设计入门。
DICDER -- 博客专栏6K0g#Xt1f-d2Lq1Ms 首先要知道自己在干什么?数字电路(fpga/asic)设计就是逻辑电路的实现,这样子说太窄了,因为asic还有不少是模拟的,呵呵。我们这里只讨论数字电路设计。实际上就是如何把我们从课堂上学到的逻辑电路使用原理图(很少有人用这个拉),或者硬件描述语言(Verilog/VHDL)来实现,或许你觉得这太简单了,其实再复杂的设计也就是用逻辑门电路搭起来的。你学习逻辑电路的时候或许会为卡拉图,触发器状态推倒公式而感到迷惑,但是其实有一点可以放心的是,实际设计中只要求你懂得接口时序和功能就可以了,用不着那么复杂得推倒公式,只要你能够用语言把逻辑关系表述清楚就可以了,具体这个逻辑关系采用什么门电路搭的,可以不关心,综合工具(synthesis tool)可以帮你处理。当然你要知道基本门电路的功能,比如D触发器,与门,非门,或门等的功能(不说多的,两输入的还是比较简单的)。---一句话,采用verilog或者VHDL描述设计对象的逻辑功能,这就是数字电路设计的任务!
DICDER -- 博客专栏!^7}6M3huk 说到这里入门必须要两个基本功:逻辑电路基础,硬件描述语言。有了这两个基本功,就算你其他都不会也能找到工作,呵呵,或许你会说,现在面试要问fpga,要问时序分析,有那么简单么?其实这些东西在你有了这两个基本功之后,其他的都可以慢慢学习。注意硬件描述语言和逻辑电路的学习可以同步学习,而且要牢记,学习硬件描述语言进步取决于你对电路的理解和你对
仿真器的使用。为什么这样子说呢?因为硬件描述语言RTL(寄存器传输级)主要是用来给综合工具综合成电路的,所以要满足特定的coding style,这些coding style将对应这特定的逻辑,比如时序电路应该怎么写,组合电路怎么写,这是有一定约束的,为此若你对逻辑电路比较熟悉,你就知道自己写代码大体综合后会采用什么门电路来组成;另外,写代码就要仿真,这是不可以避免的---不仿真,你怎么知道自己写的代码符合设计的要求呢?能够熟练使用仿真器,你就有了调试代码的基本能力,否则,写再多的代码也没有用。这也是今天我感到兴奋的一个因素,目前正在使用vera验证语言,采用类C++的风格,对于习惯verilog的我开始还不习惯高级语言的调试环境,定位一个问题得花上一天;但是一旦你能够熟练使用编译仿真工具之后,你就会发现其实自己的很多想法可以很快的写成代码,并通过调试来提高自己对语言的理解。----学习的进步在于,把自己的想法用语言来实现,并调试验证是否正确。
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG:
IC设计与验证