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- YVerilog dump VCD :
% l! X, }2 r: q& x; N6 O( G: a. [% P9 n/ H5 x/ Z7 r. g7 G2 L
initial4 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, gDumpvars 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 nuse work.string.all;
+ ]+ [* l6 f7 m  C' }4 G6 B+ g: v' harchitecture tb of test is6 ?. f: W) R# H/ g# T* b
   file io_file: TEXT open WRITE_MODE is “sim_res.dump”;
1 `9 A& R& P& M" xbegin
+ Z$ b* q9 w9 p% G7 o     writing_sims: process
9 h4 G+ d3 j: q% z         variable buf: LINE; -- predefined access type in TEXTIO5 X+ k( h* T. |" ^$ L6 d; @
     begin7 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 }. ^         loop9 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