IC数字前端设计开发10 (labs svtb-lab6b实验说明)

本文提供了IC数字前端设计实验的详细说明,包括源码下载地址、实验文件的模块划分及代码分析。实验文件分为公用文件层、顶层模块相关、Driver层、Monitor层和DUT层。重点讲解了router_io.sv中时钟同步的实现,Packet.sv中packet数据定义,以及Environment.sv中的semaphore在组件通信中的应用。
摘要由CSDN通过智能技术生成

1 源码下载地址:

https://download.csdn.net/download/times_poem/10659354

书籍推荐:芯片验证漫游指南

 

2 整个实验文件划分为以下模块,以便分析。

 

 

3 代码分析

 

公用文件层

3.1 router_io.sv

default input #1ns output #1ns;

p175 采样偏移量,输出偏移量。

通过interface实现时钟同步。

interface router_io(input bit clock);
  logic		reset_n;
  logic [15:0]	din;
  logic [15:0]	frame_n;
  logic [15:0]	valid_n;
  logic [15:0]	dout;
  logic [15:0]	valido_n;
  logic [15:0]	busy_n;
  logic [15:0]	frameo_n;

  clocking cb @(posedge clock);

    default input #1ns output #1ns;
    output reset_n;
    output din;
    output frame_n;
    output valid_n;
    input  dout;
    input  valido_n;
    input  frameo_n;
    input  busy_n;
  endclocking: cb

  modport TB(clocking cb, output reset_n);

endinterface: router_io

 

3.2 Packet.sv

按照rtl数据传输类型,定义packet的数据。

compare 用于scoreboard.sv

display 用于打印当前packet的数据信息

copy 用于Receiver.sv

 

 

`ifndef INC_PACKET_SV
`define INC_PACKET_SV
class Packet;
  rand bit[3:0] sa, da;         // random port selection
  rand logic[7:0] payload[$];	// random payload array
       string   name;		// unique identifier

  con
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值