Chip123 科技應用創新平台
標題:
關於PrimePower的問題
[打印本頁]
作者:
day766
時間:
2007-8-21 01:02 AM
標題:
關於PrimePower的問題
想用PrimePower來測模擬耗電量,所以要先用Design Vision來Synthesis並產生VCD檔後,才能被PrimePower讀取,請問這是對的嗎?
: J; J! e; r$ O8 u( w0 D- @) T
: }) C5 K$ o' q0 X8 e: R, ^
另外,要在Design Vision產生VCD檔,必須在testbench的檔案中加上.dump的語句。我的問題是,
9 v; n6 c- [, v/ U3 L# R
& O5 W( H5 H) h5 K
請問在Verilog跟VHDL這兩種語言的檔案上,分別要怎麼加這個.dump的描述呢?(不知道要寫些什麼)
作者:
tommywgt
時間:
2007-8-21 03:37 PM
"沒聲"在嗎?
8 t. l4 Z' a9 f
有空的話幫回一下吧!
作者:
masonchung
時間:
2007-8-21 08:45 PM
這是用來做gate-level的Power的模擬
( Q" |/ V) }1 N* [( }
所以要先用Design Vision來Synthesis並產生VCD檔後加上 gate-level netlist 才能被PrimePower 分析
& L( A. F( z( I/ O. ^1 [, L9 C" g
/ ~+ V8 a) T7 Q0 x+ p2 N: t- Y
Verilog dump VCD :
% l! X, }2 r: q& x; N6 O
( G: a. [% P9 n/ H5 x/ Z7 r. g7 G2 L
initial
4 E/ L) |; R G4 B( y+ i
begin
8 X( R9 O+ I8 t
$dumpfile("dut.vcd");
: v, W) b2 X1 N4 o9 x* L
$dumpvars;
3 ]" F; |) E1 y* s! C# h- g
end
作者:
Cappuccino
時間:
2007-8-22 09:21 AM
若用VHDL的話,可以不用在testbench加dump敘述
" }2 q- W% Q: d* r
以用modelsim跑模擬為例,可直接在modelsim的run file裡加以下敘述
6 I! r% s; q) q
好處是不需要更改原來的testbench
) G, H9 _; A, d' D# ~
有點久沒用了,如果寫錯還請多多包涵
/ C8 C" ~5 t1 x% h. F
0 H: X% b, ?4 |. ~4 V1 w
Ex. run.do
. I C3 V/ N4 _5 O. W2 u# M
) D0 M% N' e7 N w, f# D
vsim -t 1ps work.tb
. p1 E7 \; ]1 g/ c8 L4 _* ~
Dumpfile design.vcd (或vcd file design.vcd)
+ M' j4 h* w7 {
Dumpvars 1, /tb
5 I" @& x. e# c, g
Dumpvars 2, /tb/design
作者:
masonchung
時間:
2007-8-22 11:10 AM
這裡有一段 VHDL TB 可以產生 dump file
9 p$ i. a: y* K! ?7 B9 |& g: V
* R% A; S8 N- e/ S1 u
use std.textio.all;
7 J- y) l% ~9 }/ f3 {7 [0 x/ p3 E6 n
use work.string.all;
+ ]+ [* l6 f7 m C' }4 G6 B+ g: v' h
architecture tb of test is
6 ?. f: W) R# H/ g# T* b
file io_file: TEXT open WRITE_MODE is “sim_res.dump”;
1 `9 A& R& P& M" x
begin
+ Z$ b* q9 w9 p% G7 o
writing_sims: process
9 h4 G+ d3 j: q% z
variable buf: LINE; -- predefined access type in TEXTIO
5 X+ k( h* T. |" ^$ L6 d; @
begin
7 G% b5 i! {6 l% H! `
WRITE(buf, “Simulation results:”);
. R- k- J. a2 S. E% c+ V
WRITELINE(io_file, buf);
& W. Y! u! c9 }. ^
loop
9 R' S( U: s/ {& e n
wait on CLK; -- loop execution on every clock edge
3 l5 ~* j! J1 Q% p
WRITE(buf, “Current time = “);
0 {/ X5 M& M9 x! d M& X
WRITE(buf, finish_clk); -- current simulation time
+ ?/ m. E# w4 M- `# _& D
WRITE(buf, “, clock = “);
3 E# ^: Y& y( z6 f
WRITE(buf, clk);
" z w! w( s2 m% G, c9 ]5 W$ i' l
WRITE(buf, “, in1 = “);
, _3 X! G' b/ U) N( ~
WRITE(buf, in1); -- integer type
% Q s% b4 \* h% |
WRITE(buf, “, out1 = “);
: s5 b L$ ^5 H3 w6 N, ]
WRITE(buf, out1); -- bit_vector type
0 ?' b6 M% k P
WRITELINE(io_file, buf); -- write line to output file
* U- e& y! f1 Z* V
end loop;
: d/ u% n6 n% k( l' I5 s
end process writing_sims;
) Y; m3 G* H/ w l# [
end tb;
作者:
jason_lin
時間:
2007-8-23 12:36 AM
標題:
用產生VCD方法
Xilinx針對試算Power有提供自動產生VCD,不知是不是你們要的.
" W! B5 f3 i3 ~2 c t
此方法不需寫code,只要寫test banch就好了.
& k8 d# r) I( |" ]/ N# p
Xilinx試算Power方法是由模擬後產生VCD file,然後再參考VCD file由Xpower軟體幫你自動算出,要算出最準的Power,則要仔細寫test banch去模擬.
0 z+ Z4 ] ?8 f* ?0 d5 C8 s2 y
產生VCD方法如下:
m& H9 p( G& x' e
0 b! i8 N& z7 @ _- ~
............糟糕......我不會貼圖ㄝ.....
9 _0 ]9 m! ~3 P& b8 p" p
我把方法做成一個圖片,圖貼不上去,需要的人傳短消息給我,我再寄給你們囉^___^
作者:
jason_lin
時間:
2007-8-23 12:38 AM
標題:
回復 #6 jason_lin 的帖子
補充一下^^
0 ]' C D2 V% v0 k7 R
是使用ISE自動產生VCD檔,不需用語法去產生.
作者:
tommywgt
時間:
2007-8-28 04:16 PM
"沒聲" 感謝你的標準答案
w9 ]8 J: I4 T- j+ f
另外也感謝其他人的回覆跟補充
歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/)
Powered by Discuz! X3.2