verilog学习——verilog的介绍
一.介绍
Verilog是一种硬件描述语言,用于以代码形式描述数字系统和电路。
在开发verilog之前,用于描述电路设计和验证的主要语言是VHDL。
Verilog与VHDL相比较:
- 更简单的语法;
- 更好的支持行为建模;
- 更高级别抽象:可使用模块和端口等概念来描述数字电路;
- 更好的工具支持;verilog提供一系列继承开发环境和仿真工具,可以更好的设计和验证数字电路。
Verilog和C与Java的比较:
1, 目的不同:verilog是描述数字电路和系统,c和java是编写在计算机上运行的软件。
2, 语法不同。
3, 执行不同:verilog代码被编译成硬件配置,c和Java被编译成机器代码。
4, 测试和验证不同:Verilog通常用于在物理实现之前模拟数字系统的行为,
5, 设计嵌套:在Verilog中,设计可以创建为模块,并且可以重复使用,c和Java不可以;
二.概念
硬件原理图:是显示如何连接组合门以实现特定硬件功能的图表,
描述硬件功能的语言是硬件描述语言。
验证:通过不同的方法进行检查,最广泛的验证方法是电路仿真。
所有仿真均由EDA(电子设计自动化)软件工具执行,Verilog设计RTL被放置在称为测试台的实体中。
Verilog代码:所有代码都应在关键字Module和endmodule中描述;
Verilog部分模板:
module [design_name] ( [port_list] );
[list_of_input_ports]
[list_of_output_ports]
[declaration_of_other_signals]
[other_module_instantiations_if_required]
[behavioral_code_for_this_module]
Endmodule
三.芯片设计流程
VLSI代表超大规模集成,是一种将成千上万个晶体管组合到单个芯片中的技术。
ASIC(专用集成电路):是一种集成电路 (IC),旨在执行特定任务或功能。通常用于需要满足特定要求的高性能应用。
Requirement:
收集需求,估计最终产品的市场价值,评估完成项目所需的资源数量。
Specifications:
收集规范,抽象地描述要设计的芯片的功能、接口和整体架构;
Architecture:
芯片的整体架构,时钟频率、功率和性能要求等;
Digital design:
使用硬件描述语言从功能、性能和其他高级问题方面分析设计;
Verification:
验证功能正确性。
Logic synthesis:
将设计转为具有组合门和触发器等真实元素的硬件原理图。
Logic equivalence:
检查gate level netlist 和RTL的逻辑等效性。
Placement and routing:
将netlist输入到物理设计流程中,在EDA工具的帮助下完成自动布局和布线。
Validation:
验证样品芯片。
四.芯片抽象层
设计抽象层:
- 顶层是系统级架构,定义各种子模块并对其分组;
- 每个子模块都用硬件描述语言编写;
- HDL被转换为门级原理图;
- 使用EDA工具在硅中布局晶体管;
设计风格:
- 自下而上
- 自上而下