1984年由Gateway Design Automation开发的硬件描述语言,用代码描述数字电路的结构与行为,经IEEE标准化后成为芯片设计与FPGA开发的主流语言之一,现代处理器、SoC的RTL设计大量使用。

| 首次发布 | 1984年 |
| IEEE标准 | IEEE 1364-1995,后合并为IEEE 1800(SystemVerilog) |
| 范式 | 硬件描述、并发、结构化 |
软件程序描述的是时间上的执行顺序;硬件电路描述的是空间上的连接关系与信号逻辑,两者有根本区别。Verilog(Verification Logic)在1984年由Phil Moorby在Gateway Design Automation设计,最初目的是验证(simulation)而非合成(synthesis)。Cadence在1989年收购Gateway后,Verilog走向标准化,1995年成为IEEE标准(IEEE 1364-1995)。
Verilog的基本单元是模块(module):每个模块有输入/输出端口,内部可以声明寄存器(reg)和线网(wire),通过assign(组合逻辑)和always @(posedge clk)(时序逻辑)描述电路行为。多个模块通过端口实例化连接成层次结构。
理解Verilog的关键是:写下的代码描述的是并行运行的硬件,而不是顺序执行的程序。一个设计里的所有always块在仿真时是并发执行的,最终综合(synthesis)工具会把RTL代码转换为实际的门电路网表。[1]
Verilog-2001(IEEE 1364-2001)修复了许多早期版本的不便之处,加入了模块内参数(localparam)、生成块(generate)、多维数组等特性。但随着芯片规模增长,单纯的Verilog在验证复杂度上越来越吃力。
2005年,SystemVerilog(IEEE 1800)将Verilog与验证方法学扩展合并,加入了类(class)、接口(interface)、断言(SVA)、约束随机验证等面向对象和形式化验证特性。现代SoC验证通常使用SystemVerilog配合UVM(Universal Verification Methodology)框架,让验证环境本身也能复用和参数化。

| 首次发布 | 1984年 |
| IEEE标准 | IEEE 1364-1995,后合并为IEEE 1800(SystemVerilog) |
| 范式 | 硬件描述、并发、结构化 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧