前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数字IC/FPGA设计基础_入门必备“常识”

数字IC/FPGA设计基础_入门必备“常识”

作者头像
FPGA开源工作室
发布2021-08-26 10:31:27
1K0
发布2021-08-26 10:31:27
举报
文章被收录于专栏:FPGA开源工作室FPGA开源工作室

对于对数字IC/FPGA设计感兴趣,并希望在这儿方向深入发展的同学而言,经常困惑在日后的找工作时,实际工程设计中需要哪些基本知识与技能。在网络上搜索各种资料,费事费力。

根据sky这15年的数字IC/FPGA设计经验,大致总结如下:

电子工程师(EE)基础知识

1:电路分析,数字电路基础;

2:微机原理,汇编语言;

3:C/C++语言,数据结构;

4:Verilog语言(比如Michael, D.Cilette的《Verilog HDL高级数字设计》或夏宇闻老师的《Verilog数字系统设计教程》);

5:晶体管原理(数字电路的话,少了解就行);

数字IC设计专业知识

然后,进入数字IC前端/FPGA设计的专业知识学习。 1:sky推荐这本书:《CMOS VLSI Design A Circuits and Systems Perspective》。自认为是数字IC设计入门“圣经”。基本电路结构,加减法器结构,组合逻辑,时序逻辑,跨时钟设计都有涉及。

2:还需要理解On-Chip-Bus的基本知识与一个数字系统的基本结构,建议学习理解:AMBA总线,含:APB/AHB/AXI。由于ARM在数字IP领域的领导低位,AMBA总线事实上已经成为数字IC的通用总线结构,必学。

3:现在可以开始做数字IP的设计了,涉及到使用相关EDA tool。

a):功能验证:对于初学者(在校生),能modelsim/questasim上做仿真测试,熟悉波形窗口;debug RTL code。再使用下windows版的nLint/Debussy就能完成数字IP功能设计验证了。

b):综合与实现:这部分首先(重点)要掌握STA原理,比如:cell delay在cell library里面是怎么标定的,tool是怎么计算delay的,setup/hold timing check的计算公式是什么;clk skew, clk uncertainty, create_clock, create_generateclock, set_ideal_network, set_input_delay, set_false_path, set_multi_cycle_path,OCV , .... 是什么意思,对STA有何作用。懂了STA原理,就可以用TCL语言写SDC(DC综合)/XDC(vivado综合实现)timing constraint了。目前XDC/SDC的语法已经基本统一了。

PS:在此有个误区,感觉非得使用linux版本的EDA tool(VCS, DC, Formality, nLint)才能学习,然后耗费大量时间去安装linux版本的EDA软件。其实windows版本的EDA软件对于学习来说完全够用,在工作后再切换到linux版本,就是tool熟悉的过程,每个tool就是几天的时间。

进阶知识、技能

1:算法方向:信号与系统,数字信号处理(DSP);

2:接口方向:UART/IIC/SPI/DDR等常用接口协议;如有余力,可以看看USB/PCIE/SATA/MIPI;

3:linux操作系统使用/vim(emac)使用/bash(csh)/makefile;日常工作的OS平台;

4:脚本语言:Perl(Python)/TCL;

5:版本管理工具:SVN/Git;

所以,学会(假设你学会了)verilog语言,可能只占整个“常识”体系的5%。

写在最后

老老实实把基础打牢,否则你有解不完的问题。在学习中,尽量理解背后的原理,不是只记住怎么做,还要知道为什么要这么做:what -> how -> why -> do it better

以上:C/C++语言;Verilog语言属于语言的讲述;其它课程尝试教授的是“思想”。Verilog只是语言,表达的是“思想”(硬件俗称Architecture)。注意理解两者的关系与区别。

既然是装逼,就装到底:有些时候,你花几周解决某个问题,感觉自己牛逼的不行了。结果,结果这个问题可能就是:“常识”。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA开源工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 电子工程师(EE)基础知识
  • 数字IC设计专业知识
  • 进阶知识、技能
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档