Verilog 基础 - 模拟 HDL 设计:编译、库和详细设计
在Verilog中,模拟设计及其测试平台涉及几个关键步骤。
首先,我们需要编译源文件。编译将 HDL 代码转换为模拟器可以读取和执行的二进制格式。此步骤检查语法并为模拟准备文件。
一些Verilog工具使用库来组织编译文件。库是一个用于存储编译模块的文件系统结构。工具选择一个当前工作库,编译时默认将输出放入该库。稍后,在综合过程中,模拟器从这些库中选择组件来创建完整的设计和测试设置。
在层次化设计中,测试平台位于最高级别。它包括测试代码并实例化主设计模块。测试平台下方是结构设计模块,该模块包含设计的主要部分,但不包含实际的设计代码。这个模块连接较低级别的模块。
接下来,我们有主要设计模块:
行为处理器模块:此模块使用行为代码完全描述处理器的功能。
行为监控模块:此模块完全描述了监控器的功能。
RTL处理程序模块:此模块使用综合代码部分描述了处理程序功能,并包括两个子模块:
接收器子模块:这是供应商特定宏的预综合网表。
发送器子模块:这是一个使用Verilog原语的手工编写的网表。
通常,您可以以任何顺序编译这些模块,但有一个例外。如果您有由编译器指令(如‘ifdef或‘ifndef)创建的跨文件依赖关系,您必须一起编译这些文件。总是先编译带有指令的文件。通常认为创建这样的依赖关系是不好的编程习惯,因为它们会复杂化编译过程。
编译后,综合器将所有编译模块链接起来,构建完整的设计和测试平台配置,使其准备好进行仿真。


在Verilog中,模拟设计及其测试平台涉及几个关键步骤。
首先,我们需要编译源文件。编译将 HDL 代码转换为模拟器可以读取和执行的二进制格式。此步骤检查语法并为模拟准备文件。
一些Verilog工具使用库来组织编译文件。库是一个用于存储编译模块的文件系统结构。工具选择一个当前工作库,编译时默认将输出放入该库。稍后,在综合过程中,模拟器从这些库中选择组件来创建完整的设计和测试设置。
在层次化设计中,测试平台位于最高级别。它包括测试代码并实例化主设计模块。测试平台下方是结构设计模块,该模块包含设计的主要部分,但不包含实际的设计代码。这个模块连接较低级别的模块。
接下来,我们有主要设计模块:
行为处理器模块:此模块使用行为代码完全描述处理器的功能。
行为监控模块:此模块完全描述了监控器的功能。
RTL处理程序模块:此模块使用综合代码部分描述了处理程序功能,并包括两个子模块:
接收器子模块:这是供应商特定宏的预综合网表。
发送器子模块:这是一个使用Verilog原语的手工编写的网表。
通常,您可以以任何顺序编译这些模块,但有一个例外。如果您有由编译器指令(如‘ifdef或‘ifndef)创建的跨文件依赖关系,您必须一起编译这些文件。总是先编译带有指令的文件。通常认为创建这样的依赖关系是不好的编程习惯,因为它们会复杂化编译过程。
编译后,综合器将所有编译模块链接起来,构建完整的设计和测试平台配置,使其准备好进行仿真。


