Chip123 科技應用創新平台

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

作者: handwin    時間: 2007-6-15 11:03 AM
標題: 請問一下PLI的問題
不知道在這裡問對不對,請問一下,下面這個 書上的 "hello verilog"  例子在modelsim環境下怎麼下command才能link 並且可以產生結果呢
1 W) C  R- g( b- M& ]3 p' F8 E$ s
8 s- }- L8 Y: s/ c2 i8 @看usermannual 的語法說明不太了解  不知道哪位大大可以告知一下呢   先謝謝各位了
0 ?6 o. ]' {; u. i1 h+ k' T7 b' n/ J  x# a' B
************************************************************
; G5 M4 u9 n- a#include "veriuser.h" /*include the file provided in the release dir */. [7 F7 o* u! F/ N; h
. p' B! O9 D0 O
int hello_verilog()
9 d: b; u1 S6 G& y7 G{
4 m4 w5 \9 K  Z0 s& h8 ]        io_printf("Hello Verilog World\n";  v6 n) a# X/ m! B
}
* d3 r( X' a( g9 X! g2 z* y1 ?*************************************************************/ {9 {. C: B9 ?$ a$ \. p
9 x' b% O9 t4 g3 R

" n0 D" p4 U9 `0 z# f7 k, i4 M! N$ d
  l) m5 p4 z( ^5 B* g& b
0 Q# v2 N* g5 m$ O& U( H) Y/ T! D
***************************************************************
+ W$ d& `/ K3 T* t6 gmodule hello_top;* M+ Y7 L; r8 e6 a
. v  N% \1 l( k8 n+ A; z2 b
initial  d" E. @' E7 u! v8 a/ c" _7 X
        $hello_verilog; //Invoke the user defined task $hello_verilog
7 `. p/ g, c; H2 H) s( F& s  Z% A$ W% Z
endmodule
$ ]9 |7 c; u% q- R: V* F! t! g*****************************************************************
作者: masonchung    時間: 2007-6-15 01:04 PM
請問是那本書阿
. X$ D3 w) n" G4 n
3 ~' D2 h# _* a- e介紹一下
0 Y& J, [2 W7 ?" S5 ]( _  S/ g- V9 ]% `  @0 L
真是誤導 verilog 的精神
作者: handwin    時間: 2007-6-15 01:21 PM
標題: 回復 #2 masonchung 的帖子
Verilog 硬體描述語言第二版      全華出版   黃英叡   黃稚存  編譯
作者: masonchung    時間: 2007-6-15 01:58 PM
這個做 test bench 是可以這樣用啦~0 t) p# a- p6 _9 s2 a3 V) h
2 \  I' |- u2 Q- }
modelsim 的 PLI 在 path 應該可以設定 不知你是工作站還是PC環境?4 j; k3 O2 s  i1 R! \; }, l
還有 需要那個 PLI檔
作者: handwin    時間: 2007-6-15 02:29 PM
標題: 回復 #4 masonchung 的帖子
版大 您好      我是在pc環境下     要怎麼做咧?    苦惱中     是不是不能直接在modelsim下
" A4 C, d' U/ O" T- U9 x$ ], Q6 B2 n9 y( C6 v
直接link?     還是在另外的環境中?    沒想到剛要開始用PLI    卻連入門的程式都跑步出來    苦惱阿.....
作者: masonchung    時間: 2007-6-15 10:13 PM
這是在 Modelsim 下 產生 debussy 所需檔案 的方法 . O8 s8 C% n: m( q
* K: R- m8 }4 R0 F' F' p
你的程式 應該可以如法炮製一番   2 A; j) [7 a5 E

) ~! g. V+ C# n$ M2 Y1. 使用debussy 提供的veriuser.c file作compile跟link,
3 R2 N7 I9 n# D$ Q6 C5 ?/ `cl -c -IC:\modeltech_5.5f\include veriuser.c
+ ^' f( y* u( R. ]( e' G2 J . a) Y: W+ e4 \
link -dll -out:novas.dll -nodefaultlib:libcmt.lib -export:init_usertfs veriuser.obj pli.lib shell32.lib C:\modeltech_5.5f\win32\mtipli.lib . v. C8 O) s) v, Q6 v

8 _* P, L  t% A0 b3 X/ Q(步驟2∼4 若不是為了Debussy運作 可省略)
% w+ l/ z2 l$ n" c3 m$ @
- E( v: _  x) L4 q) q) h6 v  }2. 根據 debussy install guide 新增環境變數 / j7 j4 u# e: c; E; m) Y
環境變數D_LIBRARY_PATH
5 y2 Y0 Y0 f& L8 b6 W& t( W5 S 變數值: (這部分省略)
; f8 A6 K6 w5 F& T+ t
$ B+ J2 ]4 o% s) V2 A% E4 W) N3. 根據 debussy install guide ! A4 c2 J: a& @; S9 v
在modelsim.ini 新增:
5 {! M( Q- ]" E( P2 F- c6 b" j 1 G2 s. D3 i6 M! E* Y
[vsim]
0 h% h* N' V5 G& \ .
! H( ~1 V, W, [ .
" J' E* e/ Q- \. F; Q veriuser=novas.dll
* t+ J* C' |, I4 L( y3 N 2 ?6 K/ I: d" I, n
4. 根據modelsim 的 user manual 新增環境變數
. L+ V' Q/ R- R 環境變數LIOBJS
$ X( D7 j% l# z0 d$ R% r4 Y, F 變數值: C:\novas\debussy\share\pli\modelsim_pli\winnt\novas.dll & J6 t1 ~; F) C! X0 P
6 U+ ?# }8 I$ I# ^6 v4 K$ p6 @0 E
然後直接
7 X6 S/ [& j  Rvsim test
0 F( P2 r" Z- _* g7 Prun -all
: y. H! _( @2 x+ |0 a; r/ S
+ T/ n4 M$ k! v9 b[ 本帖最後由 masonchung 於 2007-6-16 11:52 AM 編輯 ]
作者: handwin    時間: 2007-6-20 10:38 AM
標題: 回復 #6 masonchung 的帖子
謝謝你阿  版大講的真的很詳細       我來試試看        
4 z7 R3 ]+ g1 h0 v- b       .
作者: tommywgt    時間: 2007-6-20 01:41 PM
"沒聲" 真有你的
% t5 v6 E7 w9 C) \2 J& `5 i' j. |/ w! f* ]! o
不過那本書...如果不是你沒看清書前面所講的, 就是書在誤導人啦...
作者: handwin    時間: 2007-6-20 05:32 PM
標題: 回復 #8 tommywgt 的帖子
兩位版大好    由於我是初學者 還沒有分辨對錯的能力  所以就只能盡信書了  " M: V2 [% e2 L* ?6 V. Y* |
' A/ \& @$ `! z# A
不過兩位版大   你們都有提到  這個例子有誤導之虞   但是我實在是看不出哪裡有問題. u: x* H0 e7 ?/ Y# j1 Q
* ?+ i1 a; G, @' _: S6 k5 B: j: q
可以麻煩請版大幫我說明一下這例子的不妥之處嗎?    謝謝
作者: masonchung    時間: 2007-6-20 08:16 PM
捅米是要我先唸過一次來攏去脈
: u0 B; f3 \! V+ p$ `; O那本書我再買來看看,啪謝啦
作者: handwin    時間: 2007-6-21 09:04 AM
標題: 回復 #10 masonchung 的帖子
哈   版大客氣了        到時候有任何心得還請版大多多提醒            謝謝摟
作者: handwin    時間: 2007-6-21 02:45 PM
標題: 回復 #6 masonchung 的帖子
版大您好   根據您所提供的方法 以及我在modelsim上的usermannual所提供的語法   是一致的! I! k& L2 N% T4 m
但是奇怪的是   modelsim對這兩個指令  cl   以及link會產生如下的錯誤
4 b) B( h1 j# Q" g6 F0 }. H& v* A3 m: ]
# ** Error: ambiguous command name "cl": class cleanupGui clear_profile_if_needed clipboard
& e! P, e* W2 E        clock clock_image close closedFolder clp
. x' S; F9 l/ a. r$ y9 D' m* q# m6 C/ ?: y% s
# ** Error: invalid command name "link"  - g4 I+ F' D4 K+ _4 m9 K1 }
  K% L3 E" D# H' W

- C1 b& Y3 U9 _! T" ]真的越搞越糊塗了
作者: handwin    時間: 2007-6-29 10:08 AM
標題: 回復 #12 handwin 的帖子
終於解決了這個煩人的問題了  其實是要先把.C在  DOS 底下 先編譯在LINK成DLL檔    然後再將該DLL檔放到VERILOG file資料夾內   一起模擬即可     繞了一大圈     總算是搞定了    在這裡跟大家分享一下
作者: tommywgt    時間: 2007-7-2 02:15 PM
"沒聲" 看來你誤會我的意思囉...sorry
/ W6 S- R( v( _+ x. |! R3 q2 ?8 p6 F* o2 X+ H7 t4 T3 U
話說回來,反正問題都解決了...哈4 d5 D) K. n9 o. y

" b% U; k, ~# H8 P0 {. g, Ssomulation在寫code的過程也是個很重的技巧呢
! q- N/ I$ F0 r0 ?4 U. v. \- e5 U* f' h: C/ b
至於哪些code是可以合成的哪些code是不能合成的要分清楚哦
作者: klk0130    時間: 2007-10-27 08:11 PM
我也是今年剛要接觸verilog的學生9 Y3 |) H5 [8 J+ ~
我也想要請問一下 關於PLI的部份問題% W9 m. J& ^9 s; ?  Q. G
我的問題跟開版的版友一樣
1 [2 ]* u- r3 H3 ~用的書也一樣!!
8 Q/ W$ @1 w/ [0 k3 ^% e- |請問要啥麼軟體可以 link ' `6 O, A5 D& ?# n1 o# W- {2 \4 r
最後版友說 用dos跑出來?7 I8 N+ y6 n6 h6 [$ Y
使用debussy 提供的veriuser.c!我沒有這個軟體ㄝ! _9 }5 ]1 n" q! y/ e: ^
有辦法到veriuser.c這個檔案嗎?8 N/ m- f# d& u# h( U
0 Y( ~  m7 y3 e  V) B
可否請版主 說一次完整流程 包括使用軟體?
6 {0 C7 B; z* T( b
! H! [8 q$ c& ]% o! \# J/ Y% m1 V& W$ k完全霧煞煞的學生....
作者: masonchung    時間: 2007-10-27 10:39 PM
我舉的例子是給 想要從 modelsim 產生 Debussy 可看的 fsdb 檔案的做法6 ^4 Q! O1 X+ c  Y! m$ i+ c( T( D5 B
! Q+ m. ]$ f8 F: |6 Y) Q
並不是 此本書的 PLI 例子編譯法喔/ s9 V/ k4 g, ]7 I- `2 |

, w; ^( v5 `' m. R# J$ \& D7 }0 Xklk0130 大大 可參考 handwin 大 的流程 即可
: {7 v! ~; [9 O- e" R/ ~2 G0 d; G: S1 A4 e5 U; x
[ 本帖最後由 masonchung 於 2007-10-27 10:46 PM 編輯 ]
作者: klk0130    時間: 2007-11-3 05:10 PM
再請教一下 版主大人:9 _, P" a  P* i
我照著handwin 的作法,想要把 hello.c檔 轉成 hello.obj檔% _4 i5 e9 N$ k! A. ^( o0 _' l
在VC環境命令提示字元中輸入- h1 @" f/ L. y- Y# m: ?9 q( W8 S% T
cl -c -IC:\modeltech_6.1b\examples\PLI hello.c! }; a! \2 q; i$ {. b
但是出現c1:fatal error 1083 :無法開啟來源檔案
* T% g) V$ [+ U! c* S+ u6 H/ l請問這要怎麼解決..% p6 \. _2 _5 d+ T8 {% @
請大家幫幫小弟..感謝!
作者: masonchung    時間: 2007-11-4 11:49 PM
標題: Command line compiler for Windows
Here are some useful info.* ?; @# c: a& }2 f( b- |% C
http://www.velocityreviews.com/f ... er-for-windows.html




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