马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 thjan65 于 2022-1-15 20:49 编辑
最近工作空檔, 開始研究VCS Native Low Power Simulation. 以本站下載的VCS 2016 及Verdi 2016 為工具. 本實驗共有3個RTL module. 分別是top.v, aaa.v, bbb.v. 其中top.v及aaa.v使用VDD電源 (always ON) . bbb.v 使用VDDB電源 (受控電源). 此三個module 共用VSS.
top.v 之輸入為reset及clock. 內有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) 與大家分享.
|