PLI problem

T

tarkyss

Guest
Jeg skrev et simpelt c program
# include ". / veriuser.h"
# include "acc_user.h"
# include "stdio.h"
# include "stdlib.h"
# include "time.h"
int myrandom () (

time_t * nowtime;
tid (nowtime);
srand ((* nowtime));
printf ( "tiden er% d \ nDen tilfældigt er% d \ n", (* nowtime), rand ()% 128);

)
s_tfcell veriusertfs [] = (
(usertask, 0, 0, 0, myrandom, 0, "$ myrandom"),
(0) / / sidste linje skal være 0
);

når de kører gcc og LD, ingen advarsel, ingen fejl
men når jeg kører
vsim-c test-pli myrandom.sl
sagde det, systemet opgave $ myrandom er ikke defineret.
hvorfor?

 
Kassen følgende kode .....

filnavn: testme.c
Kode:

# include "vpi_user.h"

# include <stdio.h>

# include <stdlib.h>

# include <time.h>

void myrandom () (

time_t * nowtime;

tid (nowtime);

srand ((* nowtime));

io_printf ( "Tiden er% d \ nDen tilfældigt er% d \ n", (* nowtime), rand ()% 128);

)/ / Associate C Funktion med et nyt system Task

void registermyrandom () (

s_vpi_systf_data task_data_s;

p_vpi_systf_data task_data_p = & task_data_s;

task_data_p-> type = vpiSysTask;

task_data_p-> tfname = "$ myrandom";

task_data_p-> calltf = myrandom;

task_data_p-> compiletf = 0;vpi_register_systf (task_data_p);

)/ / Register det nye system opgave her

void (* vlog_startup_routines []) () = (

registermyrandom,

0 / / sidste linje skal være 0

);

 
registrere PLI funktion i veriuser.c fil, som vil blive brugt af simulatoren på det tidspunkt, der forbinder.Der vil være et array med navnet "veriusertfs" i denne fil.der er vi nødt til at tilføje en post om pli fn.

 
nand_gates
tak, men når jeg kører
gcc-c-I $ (MTI_HOME) / include testme.c
følgende vises
testme.c: In function `registermyrandom«:
testme.c: 18: warning: overdragelse fra uforenelige pointer type

 
nand_gates tak
nu, GCC og LD er korrekt
men når jeg kører
vsim-c-pli testme.so work.test
og derefter
run 1000
# Vi opretter PLI opgave nu ....
# ** Fatal: (SIGSEGV) Bad pegepind adgang.
# Tid: 10 ns iteration: 0 Process: / test / # OPRINDELIG # 2 File: test.v
# Fatal fejl på test.v linie 5
#
# Stoppet på test.v linie 5

 
nand_gates
mange tak
det kan ikke arbejde endnu, fejlmeddelelsen er den samme med den tidligere
tror du, hvad er den mulige årsag?env conf?
# Vi opretter PLI opgave nu ....
# ** Fatal: (SIGSEGV) Bad pegepind adgang.
# Tid: 10 ns iteration: 0 Process: / test / # OPRINDELIG # 2 File: test.v
# Fatal fejl på test.v linie 5
#
# Stoppet på test.v linie 5
Senest redigeret af tarkyss den 23 januar, 2006 9:34, rettet 1 gang i alt

 
Hvilken modelsim version du bruger???hvor platfoem og hvad OS med version?

 
mit OS er sunos5.8
og den version af modelsim jeg prøvede er 5.8b, 6.1a, og 6.1c

 

Welcome to EDABoard.com

Sponsor

Back
Top