Verilog是什么,为什么要学习Verilog,学习Verilog有什么用?
(2018-07-27 09:59:59)
标签:
verilog是什么硬件fpga工程师fpga学习fpga设计 |
分类: fpga技术文章 |
1. Verilog是什么?
简单说,Verilog是一种硬件描述语言(HDL),顾名思义,就是描述硬件,让EDA软件理解实现,是一种人与EDA软件交流的语言。
Verilog可以做设计输入,(主要)用来描述数字电路;也可以做仿真模型,用来搭建test bench。
简单说,Verilog是一种硬件描述语言(HDL),顾名思义,就是描述硬件,让EDA软件理解实现,是一种人与EDA软件交流的语言。
Verilog可以做设计输入,(主要)用来描述数字电路;也可以做仿真模型,用来搭建test bench。
2. Verilog与VHDL
两者都是HDL语言,有点类似C语言和Pascal的关系。早些年说欧洲喜欢VHDL,美洲喜欢Verilog,亚太一半一半。以个人接触到的环境看,使用verilog的比例远大于VHDL。
Verilog与VHDL可以在设计中混合使用,有些叫做mix mode,工具内部使用不同的命令去读入。
verilog和vhdl之间也可以使用工具进行转换。
作为硬件描述方式,除了Verilog,VHDL,其实还有AHDL语言,甚至原理图输入等多种方式。
两者都是HDL语言,有点类似C语言和Pascal的关系。早些年说欧洲喜欢VHDL,美洲喜欢Verilog,亚太一半一半。以个人接触到的环境看,使用verilog的比例远大于VHDL。
Verilog与VHDL可以在设计中混合使用,有些叫做mix mode,工具内部使用不同的命令去读入。
verilog和vhdl之间也可以使用工具进行转换。
作为硬件描述方式,除了Verilog,VHDL,其实还有AHDL语言,甚至原理图输入等多种方式。
3. Verilog与SystemVerilog
两者都可以做设计,也都可以做验证,有点类似C语言和C++之间的关系。SystemVerilog号称HDVL(硬件描述和验证语言),是在Verilog基础上发展而来的。确切地讲,最新IEEE标准里面,已经没有Verilog单独的规范了。
两者都可以做设计,也都可以做验证,有点类似C语言和C++之间的关系。SystemVerilog号称HDVL(硬件描述和验证语言),是在Verilog基础上发展而来的。确切地讲,最新IEEE标准里面,已经没有Verilog单独的规范了。
4. Verilog与C
本来两者没啥必然的关系,除了Verilog的语法元素跟C很像。但是,实际中是有千丝万缕的关系的:
a. 做算法的工程师喜欢用C来建模和仿真,做硬件实现写Verilog的需要理解算法C。当然也有可能是c++,matlab,python甚至;" />
b. Verilog的仿真软件是用C写的,用纯粹的verilog仿真速度很慢,需要通过使用c建模来加速,于是verilog可以通过pli(sv使用dpi)跟C相互调用。
c. 也有人做了工具,把verilog完全转换成C,进行仿真加速
d. C语言做算法,然后靠手工实现verilog的方式效率比较低,而且容易出错,于是出现了很多辅助的经验和工具语言:比如cycle-based c model,比如system C建模,比如high-level synthesis(HLS)。
e. 也有人做了工具,实现C-to-Verilog的工具,这种工具和各大EDA厂商的hls工具不是一回事。
本来两者没啥必然的关系,除了Verilog的语法元素跟C很像。但是,实际中是有千丝万缕的关系的:
a. 做算法的工程师喜欢用C来建模和仿真,做硬件实现写Verilog的需要理解算法C。当然也有可能是c++,matlab,python甚至;" />
b. Verilog的仿真软件是用C写的,用纯粹的verilog仿真速度很慢,需要通过使用c建模来加速,于是verilog可以通过pli(sv使用dpi)跟C相互调用。
c. 也有人做了工具,把verilog完全转换成C,进行仿真加速
d. C语言做算法,然后靠手工实现verilog的方式效率比较低,而且容易出错,于是出现了很多辅助的经验和工具语言:比如cycle-based c model,比如system C建模,比如high-level synthesis(HLS)。
e. 也有人做了工具,实现C-to-Verilog的工具,这种工具和各大EDA厂商的hls工具不是一回事。
5. Verilog工作岗位
Verilog相关的工作岗位:
A.
数字设计工程师:不管是IP设计、soc设计、数模混合芯片设计,都需要熟练掌握verilog。
B.
数字验证工程师:需要看懂和debug设计代码,同时可以直接用verilog搭建testbench,也需要熟练掌握verilog。
C.
算法工程师:需要了解一点verilog的语法和硬件设计概念,在算法设计中在复杂度权衡方面可以更加友好地面向硬件优化。
D. (中)后端工程师:包括综合、DFT、APR,需要了解verilog。
E. FPGA工程师: 需要掌握verilog。
F. 工艺库开发工程师:需要了解verilog。
G. 模拟工程师:尤其在数模混合芯片中,需要提供verilog仿真模型。