模板-V1
模型功能
- 建立场景的概念
- 实现场景的信号传输
- 明确场景的描述内容
模型框图
场景与实际情况的对应
实现步骤
场景的概念
- 场景是仿真针对的情况的一种综合描述
- 一般仿真场景和实际场景相对应,且由简单到复杂分布
- 比如,从最理想的数据模型,到引入随机数的干扰模型,再到最后的实际场景采集数据的模型
- 仿真场景就是逐步逼近实际应用场景的描述文件
场景信号传输的实现
- 总线信号的导入
- 一个场景需要驱动整个逻辑的所有输入,所以需要使用上一章使用的总线去实现,以保证场景的稳定拓展
// Class: video_scene_ideal
//
class video_scene_ideal;
// Group: Variables
string name;
virtual video_interface video_itf;
// Group: Constraints
// Group: Functions
// Constructor: new
function new(
string name = "video_scene_ideal",
virtual video_interface video_itf
);
this.name = name;
this.video_itf = video_itf; //get scene need itf to class
endfunction: new
extern task run_scene_single(
input integer mode
);
endclass: video_scene_ideal
task video_scene_ideal::run_scene_single(
input integer mode
);
fork
begin //note
$display("--------------------------------------------------",name);
$display("now run scene: %s ; task is run_scene_single ;",name);
end
//add phase run
join
endtask:run_scene_single
- 注册到public_libs.svh中
// ######################################################################
// lib include
`include "../public_interface/video_interface.sv"
// ######################################################################
// lib of scene
`include "../video_scene/video_scene_ideal.sv"
- 必须在interface文件后面,因为后引入的文件可以调用先引入的文件
- 在顶层运行空场景
// --------------------------------------------------------------------
// add scene run
string name;
video_scene_ideal sce_ideal;
initial
begin
#100
name = "video_scene_ideal";
$display("==========================================");
$display("top: run scene is %s ;", name);
sce_ideal = new(name,src_video_itf);
#1000
$display("==========================================");
$display("top: run scene stop ;");
$stop();
end
场景描述的内容
层次 | 负责的内容 |
---|---|
top | 调用场景,当仿真目标发生改变时,则新建场景 |
scene | 调用驱动,并行运行各个部分,可以利用驱动进行复杂的排列组合,尽可能接近场景的复杂度 |
phase | 驱动信号,提供某个总线的信号级别的控制,以满足场景拟合的需求 |
最终效果
提供场景描述的文件框架
- 目前的场景规划由于缺少具体的模型,很难得到一个准确的划分
- 暂时以单场景、多片段,多对象阶段的模型进行说明
- 单场景,即仿真场景始终处于理想场景
- 多片段,即在场景中分解出常见的关联阶段组成片段
- 多对象阶段,就是将总线的驱动在总线运行阶段进行细分,从而满足场景的调用需求
- 保持1-n-n的结构,有利于增强仿真的适应性
- 暂时以单场景、多片段,多对象阶段的模型进行说明