EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)

EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)

  • 图形界面的基本步骤回顾
  • 命令行界面多步仿真
    • 0,准备文件的建立
      • 首先是新建cds.lib文件
      • 其次是hdl.var文件的建立
    • 1,编译
    • 2,描述
    • 3,仿真
  • 命令行界面单步仿真

简介:本文主要是结合图像化界面,对NC-verilog命令行方式的简单使用,其中图形化界面的关键(基本上所有)步骤在命令行中都有其对应的部分

图形界面的基本步骤回顾

1,新建cds.lib文件
工具中交新建设计目录,我们新建了一个叫cds.lib的文件。
EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)_第1张图片
打开这个文件,文件内容截图如下
在这里插入图片描述
可以看到他定义了一个worklib,这里只做了解,后面会有详细的说明。
2,编译文件
3,对tb文件进行elabrate,得到一个 snapshot文件
4,打开仿真添加探针
5,直接回弹出波形窗口

命令行界面多步仿真

0,准备文件的建立

在这里插入图片描述
我们打开图像化目录后发现这里多了两个文件,(其他的都是原有文件),因此这里我们同样需要新建一些依赖文件做仿真的准备。

首先是新建cds.lib文件

EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)_第2张图片
首先需要创建一个cds.lib文件。完成逻辑库名到物理地址的映射。告诉仿真器库的位置,具体操作如下,我建立了一个叫encode_5421work的库,将其地址放在./encode_5421.lib目录下,因此新建了一个文件夹
EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)_第3张图片

其次是hdl.var文件的建立

EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)_第4张图片
其中定义了工作库的库名,encode_5421work其中这个库是的物理地址映射由cds.lib来进行定义
这里笔者的理解就是所有的库名其内部统一定义为WORK,这时用户依据自己的需求建立文件库名,并将WORK定义为用户自定义名称。
在这里插入图片描述

回顾下
在这里插入图片描述

1,编译

多个文件可以顺序向下写
EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)_第5张图片

2,描述

ncelab +access+rwc -messages tb(仿真文件名)
EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)_第6张图片
查看生成的文件
EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)_第7张图片

3,仿真

EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)_第8张图片

命令行界面单步仿真

例如:ncverilog test_drink.v can_counter.v drink_machine_top.v drink_machine.v coin_counter.v +access+rwc –l nc.log
EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)_第9张图片
EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)_第10张图片
在这里插入图片描述

`timescale 1ns /1ps  
module tb_D_5421_BCD;
	reg [3:0]  decimalism_data 	;
	wire [3:0]	data_5421_BCD 		;
	D_5421BCD D_5421BCD_0 (
		.decimalism_data 	(decimalism_data ),
		.data_5421_BCD 			(data_5421_BCD 		)
	);
initial $monitor($time,":\decimalism_data-%d,data_5421_BCD=%b\n",decimalism_data,data_5421_BCD);
// Add stimulus here
	initial begin
		decimalism_data = 4'd0;
 
       	#100;
		decimalism_data = 4'd0;
		#100;
		decimalism_data = 4'd1;
		#100;
		decimalism_data = 4'd2;
		#100;
		decimalism_data = 4'd3;
		#100;
		decimalism_data = 4'd4;
		#100;
		decimalism_data = 4'd5;
		#100;
		decimalism_data = 4'd6;
		#100;
		decimalism_data = 4'd7;
		#100;
		decimalism_data = 4'd8;
		#100;
		decimalism_data = 4'd9;
		#100;
		decimalism_data = 4'd10;
		
	$shm_open("wave.shm");
	$shm_probe(tb_D_5421_BCD,"A");
#5; 	$finish; 
	end
endmodule

你可能感兴趣的:(EDA实验课学习笔记)