在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2727|回复: 7

[原创] RTL, VCS NLP 實驗分享

[复制链接]
发表于 2022-1-15 19:06:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 thjan65 于 2022-1-15 20:49 编辑

最近工作空檔, 開始研究VCS Native Low Power Simulation. 以本站下載的VCS 2016 Verdi 2016 為工具.
本實驗共有3RTL module. 分別是top.v, aaa.v, bbb.v. 其中top.vaaa.v使用VDD電源 (always ON) . bbb.v 使用VDDB電源 (受控電源). 此三個module 共用VSS.

top.v  之輸入為resetclock. 內有16bit counter, cnt[15:0]. reset 釋放之後, counter 往上數, counter >=60000時停止.
aaa.v 輸入為top 中的cnt[15:0]. cnt <= 20000, 輸出out = 1, 反之為0
bbb.v 輸入為top 中的cnt[15:0]. cnt <= 40000, 輸出out = 1, 反之為0

VDDB電源在cnt >= 30000 turn ON. 為簡化, 並未使用power switch, 僅簡單利用suppply on/supply_off 處理.

因此建立top.upf 描述  power intent
set_design_top top

create_power_domain PD_VDDB -elements {u_bbb }
create_power_domain PD_VDD

create_supply_port VDD -domain PD_VDD
create_supply_net VDD -domain PD_VDD
connect_supply_net VDD -ports VDD

create_supply_port VDDB -domain PD_VDDB
create_supply_net VDDB -domain PD_VDDB
connect_supply_net VDDB -ports VDDB

create_supply_port VSS -domain PD_VDD
create_supply_net VSS -domain PD_VDD
create_supply_net VSS -domain PD_VDDB -reuse
connect_supply_net VSS -ports VSS

set_domain_supply_net PD_VDD-primary_power_net VDD -primary_ground_net VSS
set_domain_supply_net PD_VDDB-primary_power_net VDDB -primary_ground_net VSS

add_port_state VDD -state {HV 1.8} -state {OFF off}
add_port_state VDDB -state {HV 1.8} -state{OFF off}

create_pst chip_top -supplies {VDD VDDB}
add_pst_state ST_20k -pst chip_top -state{HV OFF}
add_pst_state ST_40k -pst chip_top -state{HV HV}

TEST bench 如下
`timescale 1ns/1ns

module test;
reg clk, rstz;

import UPF::*;

top u_top (.clk(clk), .rstz(rstz));

initial begin
  clk = 0; rstz = 0;
  #123 rstz = 1;
  #1000_000;
  $finish;
end


initial begin
  $fsdbDumpfile("test.fsdb");
  $fsdbDumpvars(0, test, "+power");
end


always #10 clk = ~clk;

initial begin
  supply_on ("VDD", 1.8);
  supply_off ("VDDB");
  supply_on ("VSS", 0.0);
end

wire VDDB_en = (u_top.cnt >= 16'd30000);

initial begin
  @(posedge VDDB_en) supply_on ("VDDB", 1.8);
end

endmodule

與Modelsim 10.2c相比, VCS NLP 簡單許多. 鼓勵同學多多體驗.
附上 VERDI 圖片, 以及所有檔案 (RTL, UPF, Testbench, batch) 與大家分享.


Verdi 2016

Verdi 2016

VCS_NLP_example.rar

1.49 KB, 下载次数: 68 , 下载积分: 资产 -2 信元, 下载支出 2 信元

发表于 2022-1-16 09:58:27 | 显示全部楼层
支持支持
发表于 2022-1-17 13:45:21 | 显示全部楼层
感谢楼主
发表于 2022-1-17 15:35:59 | 显示全部楼层
学习一下。
 楼主| 发表于 2022-1-17 21:40:35 | 显示全部楼层
使用VCS NLP 必須包含以下LICENSE feature
MVRC, MVDBGEN, MVPWR, MVSYN, MVCMP, MVSIM,  (VCS 使用)
以及 PowerAwareAnalysis  (給Verdi 使用)
发表于 2023-5-9 14:36:46 | 显示全部楼层
支持支持
发表于 2023-5-22 05:42:51 | 显示全部楼层
非常感谢你提供的信息。期待新品的到来
发表于 2023-12-12 16:46:25 | 显示全部楼层
有2个问题,1)除了开关power domain,tb还能做点什么?2)supply_on ("VDDB", 1.8); supply_on ("VDDB", 1.08);这两中在数字仿真中有什么区别吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 13:25 , Processed in 0.032130 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表