Chip123 科技應用創新平台

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

作者: handwin    時間: 2007-6-15 11:03 AM
標題: 請問一下PLI的問題
不知道在這裡問對不對,請問一下,下面這個 書上的 "hello verilog"  例子在modelsim環境下怎麼下command才能link 並且可以產生結果呢
9 W; H) T* l# ?7 w% b
$ x$ l8 S7 H- ?看usermannual 的語法說明不太了解  不知道哪位大大可以告知一下呢   先謝謝各位了) w- K3 {* x0 h+ z

, o+ h# y; z8 k) n: z9 S6 o! p! D2 N************************************************************% r( E2 s/ V# W  a, A6 g4 _. r
#include "veriuser.h" /*include the file provided in the release dir */7 d3 }: E% @7 S* C1 a/ l% P
6 i# E! S2 W6 _$ h
int hello_verilog(); S7 v; p: W+ ]  h/ y
{
& z. {( Z) E, l1 S8 V+ \; h6 s        io_printf("Hello Verilog World\n";
5 {" h+ H  t8 }: {}
  g) L6 y5 a, r. b+ {: M+ |4 u*************************************************************! G3 q- X3 O# V) c& c+ A+ V+ B! b

$ @) Z. o% F8 S- O& v! B3 l- Z
! u4 X9 ]0 f! ^
6 H9 O) J$ G( {* C2 l8 E! _$ O' t( h
2 n/ h/ H" w: S+ Q$ |
( a4 _" u7 H3 N***************************************************************, D3 ~4 Z# I0 g+ p0 W0 k; R4 _
module hello_top;' v- H; c& [3 n8 p2 @

. E. z/ D: W$ `initial
* X! K1 d5 C8 a/ U4 f$ K3 R. n        $hello_verilog; //Invoke the user defined task $hello_verilog+ t7 A. N  w% w+ R9 I) x  z
6 p/ `: m+ q4 R6 B
endmodule3 G( K0 ?  b5 l6 U: i3 a/ J
*****************************************************************
作者: masonchung    時間: 2007-6-15 01:04 PM
請問是那本書阿
1 A8 e8 p* E$ W6 X8 t+ l9 Y. k/ P+ R- ^
介紹一下
& J8 I# G( N7 W/ f5 M% G, k1 c6 `6 r
7 L2 Y( P/ p2 j: m5 k6 A真是誤導 verilog 的精神
作者: handwin    時間: 2007-6-15 01:21 PM
標題: 回復 #2 masonchung 的帖子
Verilog 硬體描述語言第二版      全華出版   黃英叡   黃稚存  編譯
作者: masonchung    時間: 2007-6-15 01:58 PM
這個做 test bench 是可以這樣用啦~& [; ?/ a- ?; t! P* [
' T$ }% a7 H2 @. [) p* b$ ?
modelsim 的 PLI 在 path 應該可以設定 不知你是工作站還是PC環境?/ B* w& A7 U$ y2 E# p  [7 S
還有 需要那個 PLI檔
作者: handwin    時間: 2007-6-15 02:29 PM
標題: 回復 #4 masonchung 的帖子
版大 您好      我是在pc環境下     要怎麼做咧?    苦惱中     是不是不能直接在modelsim下" V% a0 x* l9 z) K# R
  _% I: X) r$ I8 r) K2 }8 H5 |; U
直接link?     還是在另外的環境中?    沒想到剛要開始用PLI    卻連入門的程式都跑步出來    苦惱阿.....
作者: masonchung    時間: 2007-6-15 10:13 PM
這是在 Modelsim 下 產生 debussy 所需檔案 的方法
, u$ y* X' H' [; ^" `
0 M/ g8 ~1 L5 ~5 [你的程式 應該可以如法炮製一番     N' W. q9 z6 S$ M

& l7 d  x8 n2 d3 h# p8 \4 Z1. 使用debussy 提供的veriuser.c file作compile跟link, ! T+ T, p# p* L8 V* S5 b
cl -c -IC:\modeltech_5.5f\include veriuser.c . a1 F; w; j! p: J* t' R
; e1 e  t4 g8 z
link -dll -out:novas.dll -nodefaultlib:libcmt.lib -export:init_usertfs veriuser.obj pli.lib shell32.lib C:\modeltech_5.5f\win32\mtipli.lib 2 k0 i0 z9 M+ E; U1 ?7 B% n2 U, p1 y

9 a6 m9 J! M' x: u4 [- ]# P3 O(步驟2∼4 若不是為了Debussy運作 可省略)
3 m9 C! |$ B  @
# o5 l% ]" @% x$ d6 H. H) J2. 根據 debussy install guide 新增環境變數 0 E3 b" S" v1 P4 |  X2 ]' o
環境變數D_LIBRARY_PATH ( y# a. v( C7 I
變數值: (這部分省略)
/ Z8 @1 m( C  b% [8 y 7 [! J+ n, e$ Z
3. 根據 debussy install guide
/ N  e4 ^; [( J; O 在modelsim.ini 新增: ' |& _! Q: M8 @- x0 g9 m
5 S1 |. N4 s6 E+ _
[vsim]
$ h% d1 |! {4 i. F3 Y .
/ H8 O5 z; r# n: x$ E4 m# v9 V  H .
7 ]! Y+ F* l3 X veriuser=novas.dll
5 [* j) m5 x9 _, E# [
" J0 m8 _& F( {4. 根據modelsim 的 user manual 新增環境變數
0 e1 S/ O  i6 S6 T/ v 環境變數LIOBJS
% F# q2 V8 Q6 P; |* t 變數值: C:\novas\debussy\share\pli\modelsim_pli\winnt\novas.dll , F+ L2 f' k: [) {! q

4 k( \2 X0 B/ W3 T6 e% e' |然後直接 + M8 t; l# b$ D" u
vsim test
, f8 O  T9 a4 m; u. F1 v  ~% y; I( Nrun -all
- Y) Q8 t' W. K  ~" c; z
4 M1 N. a  \6 M$ W5 s+ i[ 本帖最後由 masonchung 於 2007-6-16 11:52 AM 編輯 ]
作者: handwin    時間: 2007-6-20 10:38 AM
標題: 回復 #6 masonchung 的帖子
謝謝你阿  版大講的真的很詳細       我來試試看        1 f. y/ B) [7 g# S! \6 [
       .
作者: tommywgt    時間: 2007-6-20 01:41 PM
"沒聲" 真有你的6 Q! m& U8 f$ b9 b8 ]1 J
" ?. ~8 p- Q' S: p* Y; {
不過那本書...如果不是你沒看清書前面所講的, 就是書在誤導人啦...
作者: handwin    時間: 2007-6-20 05:32 PM
標題: 回復 #8 tommywgt 的帖子
兩位版大好    由於我是初學者 還沒有分辨對錯的能力  所以就只能盡信書了  
- n( I7 K: ]. {7 B4 `
6 x' a, }# z* u0 O3 G# S不過兩位版大   你們都有提到  這個例子有誤導之虞   但是我實在是看不出哪裡有問題" R8 @9 |3 Y) w

; [7 f0 Q6 ~4 R2 N6 b可以麻煩請版大幫我說明一下這例子的不妥之處嗎?    謝謝
作者: masonchung    時間: 2007-6-20 08:16 PM
捅米是要我先唸過一次來攏去脈& Y9 T6 s4 t* _$ _. J" ~4 ]
那本書我再買來看看,啪謝啦
作者: handwin    時間: 2007-6-21 09:04 AM
標題: 回復 #10 masonchung 的帖子
哈   版大客氣了        到時候有任何心得還請版大多多提醒            謝謝摟
作者: handwin    時間: 2007-6-21 02:45 PM
標題: 回復 #6 masonchung 的帖子
版大您好   根據您所提供的方法 以及我在modelsim上的usermannual所提供的語法   是一致的
1 H4 g+ u, W  V* d2 w但是奇怪的是   modelsim對這兩個指令  cl   以及link會產生如下的錯誤
0 f: s1 R6 v  V% s/ n/ s% h7 {
. b$ q, ]$ S7 C9 a4 m7 v+ p# ** Error: ambiguous command name "cl": class cleanupGui clear_profile_if_needed clipboard
: e* k. m6 Q) w, R8 w# h3 ]        clock clock_image close closedFolder clp- s2 U; E- z9 U) m$ I
. L6 s4 q; S- e
# ** Error: invalid command name "link"  
2 P# e, {1 Z# Z* V$ u9 W# ]5 U6 Y' j% J. S
$ B0 g+ Z* [' C2 Y
真的越搞越糊塗了
作者: handwin    時間: 2007-6-29 10:08 AM
標題: 回復 #12 handwin 的帖子
終於解決了這個煩人的問題了  其實是要先把.C在  DOS 底下 先編譯在LINK成DLL檔    然後再將該DLL檔放到VERILOG file資料夾內   一起模擬即可     繞了一大圈     總算是搞定了    在這裡跟大家分享一下
作者: tommywgt    時間: 2007-7-2 02:15 PM
"沒聲" 看來你誤會我的意思囉...sorry
0 K2 w* r0 ~, h4 U, C$ Q/ u- Z" {8 P5 p: M  c' N
話說回來,反正問題都解決了...哈
5 U% w9 t# U9 ^9 Z
% b* P: I* ]! Q; }- D9 }% h" rsomulation在寫code的過程也是個很重的技巧呢
4 S) Q) Q; N+ R$ o( P8 l7 q$ o1 A( m1 P1 \
至於哪些code是可以合成的哪些code是不能合成的要分清楚哦
作者: klk0130    時間: 2007-10-27 08:11 PM
我也是今年剛要接觸verilog的學生* K- [- K* J7 D3 }
我也想要請問一下 關於PLI的部份問題1 _* d$ u! {$ R$ ?4 d$ o
我的問題跟開版的版友一樣& z( l! h  X% h8 v
用的書也一樣!!
. F4 U$ y. @- Z: u請問要啥麼軟體可以 link
5 r& M& U0 W# [- i" m最後版友說 用dos跑出來?$ \- D1 f7 i8 E0 w9 L
使用debussy 提供的veriuser.c!我沒有這個軟體ㄝ
; U: y2 ^  k7 k/ g% }  ^有辦法到veriuser.c這個檔案嗎?) q* o6 v& p7 ~; e
1 S) H6 Y9 Z, \/ x/ t$ n- [
可否請版主 說一次完整流程 包括使用軟體?
+ [3 `) R: N3 O. w- V3 X+ J) W, o  }& L( z; a/ V7 X8 _$ w
完全霧煞煞的學生....
作者: masonchung    時間: 2007-10-27 10:39 PM
我舉的例子是給 想要從 modelsim 產生 Debussy 可看的 fsdb 檔案的做法$ i  b6 I1 P' v9 V

  p% }/ j4 c& g! C( \並不是 此本書的 PLI 例子編譯法喔' Z6 ^+ D9 r' }' ?
" u! i* q, f2 ]9 v% m$ O% b6 n
klk0130 大大 可參考 handwin 大 的流程 即可
7 j" d1 O8 r) t, |: z( D4 C/ }; b) o
[ 本帖最後由 masonchung 於 2007-10-27 10:46 PM 編輯 ]
作者: klk0130    時間: 2007-11-3 05:10 PM
再請教一下 版主大人:
2 q4 v' c; _9 Q1 d' X我照著handwin 的作法,想要把 hello.c檔 轉成 hello.obj檔
  E8 j- b$ A  N' j: m6 ~  Q. a, n在VC環境命令提示字元中輸入0 B% l! ]. v5 r9 q: C5 z3 n
cl -c -IC:\modeltech_6.1b\examples\PLI hello.c! _0 w, J& }& Z5 J
但是出現c1:fatal error 1083 :無法開啟來源檔案
  j. V! t5 t9 M; B請問這要怎麼解決..5 w, q$ @2 u5 M% u# E( ]
請大家幫幫小弟..感謝!
作者: masonchung    時間: 2007-11-4 11:49 PM
標題: Command line compiler for Windows
Here are some useful info.4 u, q$ Q. e( a* D
http://www.velocityreviews.com/f ... er-for-windows.html




歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/) Powered by Discuz! X3.2