verilog和c语言注释,Verilog HDL | 简介与基本语法

致谢:本笔记基于龚黎明的系列讲解视频。

1 Verilog简介(Verilog语法学习者可跳过该节)

Verilog是一门类C语言

Verilog是一门类C语言,语法与C接近,但Verilog是硬件设计语言,与C实质不同。

Verilog代码对应硬件实体。比如在Verilog里写的a+b,最后会得到由硬件实现的加法器

Verilog代码到硬件的过程叫综合。综合就是将Verilog代码转化为硬件实现

Verilog并行执行

HDL: Hardware Description Language

Verilog HDL使硬件设计师们得以专注于逻辑,而不需要考虑硬件层面的实现。同样的代码只要经过不同的库综合,就可以在不同的硬件上运行。因此Verilog的代码具有极高的可复用性。

使用Verilog的绝大多数开发都处于寄存器传输级。

软核、固核与硬核

软核(Softcore):功能经过验证的、可综合的、实现后电路结构总门数在5000门以上的Verilog HDL模型。

固核:在某一种现场可编程门阵列(FPGA)器件上实现的,经验证是正确的总门数在5000以上的电路结构编码文件。

硬核:在某一种专用的半导体集成工艺(ASIC)的器件上实现的,经验证是正确的总门数在5000以上的电路结构掩膜

显然,在具体实现手段和工艺技术尚未确定的逻辑设计阶段,软核具有最大的灵活性。因此,发展软核的设计和推广软核的重用技术是非常有必要的。

自顶向下(Top-Down)设计

(对上图的讲解:P2 | 2:55)

2 Verilog基本语法

Verilog语法概述

行为级描述/寄存器传输级(RTL)描述/系统级描述:把module当成黑盒,描述module输入与输出的关系。门级实现由综合工具推断,常常能做到最优。

结构级描述/门级描述:把module作为白盒,而描述组成module的门电路(部件)

module (in1, in2, ..., out1, out2)

input in1, in2, ...;

output out1, out2, ...;

...

endmodule

// 注释1

/* 注释2 */

基本语法

Verilog区分大小写

Verilog的关键字都是小写

module, endmodule定义一个基本模块,两个关键字间的语句是对该模块的描述。定义模块方便复用。

parameter关键字定义一个参数,增强模块的通用性

output, input关键字指定输入输出

al

你可能感兴趣的:(verilog和c语言注释)