数字验证学习笔记——SystemVerilog芯片验证6 ——设计例化和连接

一. 模块定义

module为硬件域,在定义时需要标注方向、位宽和端口名。

module m_test (
input                clk,
input              rst_n,
input    [3:0]         a,
output   [3:0]         b  
);

二. 模块例化

在上层例化底层模块,或者TB例化DUT时,均需要完成模块例化。例化时需要注意模块名参数例化传递例化名端口例化对应。

		module tb_test;
		 reg              clk;
		 reg            rst_n;
		 reg  [3:0]         a;
		 wire [3:0]         b;
         m_test  dut(
                     .clk(clk),
                 .rst_n(rst_n),
                         .a(a),
                         .b(b)
           );
		...
		endmodule

三. 模块连接

在testbeach中的连接(connection)指的是有硬件模块参与作为信号驱动方(drive)或者负载方(load)。

TB常见的连接有两个硬件模块之间的连接,比如实例A与实例B的连接,可由logic类型完成连接。
如果是硬件模块与TB中发生数据激励的连接,则需要考虑数据激励一端如何正确产生数据并发送至DUT一侧,同时数据激励一端需要对DUT反馈的信号做出正确响应。

你可能感兴趣的:(验证学习,学习,fpga开发)