Chip123 科技應用創新平台

標題: 請問一下PLI的問題 [打印本頁]

作者: handwin    時間: 2007-6-15 11:03 AM
標題: 請問一下PLI的問題
不知道在這裡問對不對,請問一下,下面這個 書上的 "hello verilog"  例子在modelsim環境下怎麼下command才能link 並且可以產生結果呢, G7 l9 l  T6 Q: b9 @& ]8 {  N

: x& a4 S: d: f/ K看usermannual 的語法說明不太了解  不知道哪位大大可以告知一下呢   先謝謝各位了0 T: E1 q* s1 N& Q- W. u

8 N+ S& A4 E  `$ y. c/ F) p0 C************************************************************
- ~$ y, R4 w( n/ h: |1 d) Q#include "veriuser.h" /*include the file provided in the release dir */
) ]' v5 O$ b: G% n2 h
$ T5 N% S/ v( L/ U+ h! G) w3 pint hello_verilog()
, Z: L; ?( O3 ?% o$ y. D{% {' t* [2 J: f5 c$ g3 ^
        io_printf("Hello Verilog World\n";
# q! g% N$ }" f! L$ A! d}
2 N, m: t$ Q' ]7 [*************************************************************0 f9 ~7 ?/ g2 Q6 W. v$ i
, B8 f) y" c* m1 _% g
# V3 O- B( L+ `  w

' C" @! D0 _- c  I: W9 W+ |8 u, U( G, |6 S& l
$ v/ D1 G8 @: Y2 W' z
***************************************************************
. p3 V% ?; v& ^5 z9 J5 S* Z* cmodule hello_top;
7 N5 S) F/ J4 g2 T: W* j% H$ @
! \0 g' }% d+ e0 m9 \initial
7 q) m  P7 v* b0 B6 |" `        $hello_verilog; //Invoke the user defined task $hello_verilog9 S0 p5 v8 v3 o6 y
8 E( [  e% ?/ C5 ?$ ~+ O* C+ q8 b
endmodule0 x. S+ g1 l1 ?1 p9 G# _. c
*****************************************************************
作者: masonchung    時間: 2007-6-15 01:04 PM
請問是那本書阿$ u0 v7 S+ |1 z; S. w/ Q+ ?* |/ p) i% A. _

8 E1 d' F1 v( h3 O0 V介紹一下
, x& ]) d6 J% \2 l2 y
4 J! w6 L0 q. v( I+ u真是誤導 verilog 的精神
作者: handwin    時間: 2007-6-15 01:21 PM
標題: 回復 #2 masonchung 的帖子
Verilog 硬體描述語言第二版      全華出版   黃英叡   黃稚存  編譯
作者: masonchung    時間: 2007-6-15 01:58 PM
這個做 test bench 是可以這樣用啦~
' V8 Z+ M8 l' n* v. h$ j
7 [" P2 d8 |2 @' |8 w. e& imodelsim 的 PLI 在 path 應該可以設定 不知你是工作站還是PC環境?+ j+ F( T/ ]" I- m
還有 需要那個 PLI檔
作者: handwin    時間: 2007-6-15 02:29 PM
標題: 回復 #4 masonchung 的帖子
版大 您好      我是在pc環境下     要怎麼做咧?    苦惱中     是不是不能直接在modelsim下" F( N( b- k6 V5 [% D
- o0 Q9 w$ t5 b) V$ O6 l9 b
直接link?     還是在另外的環境中?    沒想到剛要開始用PLI    卻連入門的程式都跑步出來    苦惱阿.....
作者: masonchung    時間: 2007-6-15 10:13 PM
這是在 Modelsim 下 產生 debussy 所需檔案 的方法 , [1 P) _; E, T1 C: J5 m* x
! I/ z% ]: r0 z# w) x0 r: P
你的程式 應該可以如法炮製一番   
) s! v. L% T8 U; _5 M7 y- ], e* p$ H! y3 Z
1. 使用debussy 提供的veriuser.c file作compile跟link, 0 {& m" D5 c6 B% ?" a
cl -c -IC:\modeltech_5.5f\include veriuser.c 5 m9 Z: p  n; h& a" K; \# c6 \

6 P9 N! r# r; w9 A  x0 y. @, Xlink -dll -out:novas.dll -nodefaultlib:libcmt.lib -export:init_usertfs veriuser.obj pli.lib shell32.lib C:\modeltech_5.5f\win32\mtipli.lib
: m' H4 X1 t' {# _0 f# K
$ S! ?8 [; ?7 u9 z# u! T* m(步驟2∼4 若不是為了Debussy運作 可省略)! u; ]- K$ Y, ^. P: x! W
" f: p+ w2 T% v3 U' O
2. 根據 debussy install guide 新增環境變數
1 d9 ^& A7 ]$ S2 s5 X 環境變數D_LIBRARY_PATH - Z0 J2 ^* b  o6 ~# W2 k  x' Y
變數值: (這部分省略)
8 {  f" [. {$ a$ J7 {, `
3 F! Q1 T8 d; ?9 g0 `. O3. 根據 debussy install guide
1 T9 ?5 c9 m9 \, Z9 o; d 在modelsim.ini 新增: 4 }9 i7 e2 q* w2 d5 f4 \# k: y- j

. N# r4 R* X4 w( e' ?8 h7 f0 @ [vsim]
+ L$ B% F3 o+ a# J9 T4 g1 N .
7 d' E7 [0 `+ H* L" `* a: K6 W . 8 ]. N2 G$ @" K0 R+ k
veriuser=novas.dll 1 I) l2 C1 M0 [2 d
* T  B: D; d/ k( g$ T
4. 根據modelsim 的 user manual 新增環境變數 # @; w* N" M: Y! c& H/ Q2 f; ]
環境變數LIOBJS
- I* y/ k+ S# X( s; o2 G1 R; h: R 變數值: C:\novas\debussy\share\pli\modelsim_pli\winnt\novas.dll
! }5 Y: r. o1 D* H( r) G" E" J
$ ?5 A. v/ d1 y3 N  X然後直接 + `+ n. o# V; K' L
vsim test
* |5 j( ]1 K: Grun -all" g1 S6 X! Z3 R0 T4 K0 _
) C* y8 h" F2 c3 x1 m
[ 本帖最後由 masonchung 於 2007-6-16 11:52 AM 編輯 ]
作者: handwin    時間: 2007-6-20 10:38 AM
標題: 回復 #6 masonchung 的帖子
謝謝你阿  版大講的真的很詳細       我來試試看        8 U* T$ {% _% B$ Z1 N
       .
作者: tommywgt    時間: 2007-6-20 01:41 PM
"沒聲" 真有你的
5 Z8 ]& Q3 G5 s: d8 g: O  a6 e' d' C/ w( P9 {
不過那本書...如果不是你沒看清書前面所講的, 就是書在誤導人啦...
作者: handwin    時間: 2007-6-20 05:32 PM
標題: 回復 #8 tommywgt 的帖子
兩位版大好    由於我是初學者 還沒有分辨對錯的能力  所以就只能盡信書了  3 s) L+ y* W  q- Q8 b& S
" [, i  z2 X8 M! R1 u! u
不過兩位版大   你們都有提到  這個例子有誤導之虞   但是我實在是看不出哪裡有問題
4 W( m1 o! ?) k! ~5 p  B( g8 ?$ S! o, [
可以麻煩請版大幫我說明一下這例子的不妥之處嗎?    謝謝
作者: masonchung    時間: 2007-6-20 08:16 PM
捅米是要我先唸過一次來攏去脈
* T) I3 R4 f1 w那本書我再買來看看,啪謝啦
作者: handwin    時間: 2007-6-21 09:04 AM
標題: 回復 #10 masonchung 的帖子
哈   版大客氣了        到時候有任何心得還請版大多多提醒            謝謝摟
作者: handwin    時間: 2007-6-21 02:45 PM
標題: 回復 #6 masonchung 的帖子
版大您好   根據您所提供的方法 以及我在modelsim上的usermannual所提供的語法   是一致的
" H) D# A7 y, A5 F% T$ f8 y但是奇怪的是   modelsim對這兩個指令  cl   以及link會產生如下的錯誤
5 u' z8 @3 t+ y# B6 L# T  v/ a# p- Y7 \" K
# ** Error: ambiguous command name "cl": class cleanupGui clear_profile_if_needed clipboard ! L( f% y9 [. e
        clock clock_image close closedFolder clp
& C' {, v4 J2 L# R7 ?
0 S+ g5 X. P2 N# ** Error: invalid command name "link"  
  F# f6 s3 s! a4 e- V1 k, v
* \! _- E% o0 M/ O2 M. e8 f4 ]! ~5 W! ]+ r
真的越搞越糊塗了
作者: handwin    時間: 2007-6-29 10:08 AM
標題: 回復 #12 handwin 的帖子
終於解決了這個煩人的問題了  其實是要先把.C在  DOS 底下 先編譯在LINK成DLL檔    然後再將該DLL檔放到VERILOG file資料夾內   一起模擬即可     繞了一大圈     總算是搞定了    在這裡跟大家分享一下
作者: tommywgt    時間: 2007-7-2 02:15 PM
"沒聲" 看來你誤會我的意思囉...sorry  Q; I" e+ V0 {( L2 u

5 E9 Y1 K: D( k: h0 B+ }3 ~) B, L話說回來,反正問題都解決了...哈* c. {) D$ v9 Y3 a

3 [- A" V( M+ A" F6 rsomulation在寫code的過程也是個很重的技巧呢7 k$ A9 O8 t$ @* G1 z  L" H( c

" D0 J9 J; Z% N  L  t6 V  F至於哪些code是可以合成的哪些code是不能合成的要分清楚哦
作者: klk0130    時間: 2007-10-27 08:11 PM
我也是今年剛要接觸verilog的學生
% i( n  l$ A: ^1 L% n# H! F/ ~我也想要請問一下 關於PLI的部份問題
0 _$ q8 T& b9 L' b6 @& i7 n8 t4 v  L我的問題跟開版的版友一樣, l0 }3 k# e5 I( v; q
用的書也一樣!!2 [) L8 L: k% l% p5 h
請問要啥麼軟體可以 link
3 W1 k7 H' c3 f5 C最後版友說 用dos跑出來?) d* r/ M1 e/ Y* ^- S% H  u
使用debussy 提供的veriuser.c!我沒有這個軟體ㄝ$ K' P, M7 m( s% Q
有辦法到veriuser.c這個檔案嗎?9 U# u5 ~6 o9 V0 W* @# A; a

3 v! L8 f8 C2 |可否請版主 說一次完整流程 包括使用軟體?
- d9 G9 E) O4 \9 }2 g9 B; Y
# T" B% A0 n( [+ {( v' m完全霧煞煞的學生....
作者: masonchung    時間: 2007-10-27 10:39 PM
我舉的例子是給 想要從 modelsim 產生 Debussy 可看的 fsdb 檔案的做法1 k# k( Y. ]. d8 U

# X& P/ m# b) ]" z# J$ y! z並不是 此本書的 PLI 例子編譯法喔3 R0 Z. {7 p7 S! P, }5 h

' r6 k$ j0 \& `- o: Tklk0130 大大 可參考 handwin 大 的流程 即可6 P* v1 N' w" c! I
- B0 X! B; t7 o$ n% v
[ 本帖最後由 masonchung 於 2007-10-27 10:46 PM 編輯 ]
作者: klk0130    時間: 2007-11-3 05:10 PM
再請教一下 版主大人:
: B- o7 b* f& `, U我照著handwin 的作法,想要把 hello.c檔 轉成 hello.obj檔
+ l+ \" H1 l  |! e: x4 M在VC環境命令提示字元中輸入
5 _6 }# f- r( b$ Bcl -c -IC:\modeltech_6.1b\examples\PLI hello.c& J9 `! m: \0 V% V( z7 Z9 m2 k% B
但是出現c1:fatal error 1083 :無法開啟來源檔案& a1 J' D$ T$ P0 t3 v4 z1 w
請問這要怎麼解決..
1 k# \* V9 U( x請大家幫幫小弟..感謝!
作者: masonchung    時間: 2007-11-4 11:49 PM
標題: Command line compiler for Windows
Here are some useful info.
/ C7 @% k' K( G4 F% j2 ihttp://www.velocityreviews.com/f ... er-for-windows.html




歡迎光臨 Chip123 科技應用創新平台 (http://free.vireal.world/chip123_website/innoingbbs/) Powered by Discuz! X3.2