|
From: Cary R. <cy...@ya...> - 2015-06-22 23:48:29
|
Would adding functionality for the SystemVerilog DPI functionality be enough? Can you give us a quick overview of the VHPI you are hoping to translate.
Cary
On Monday, June 22, 2015 4:08 PM, Jon Taylor <dos...@gm...> wrote:
On Mon, Jun 22, 2015 at 12:38 PM, Martin Whitaker
<mai...@ma...> wrote:
> Jon Taylor wrote:
>> Hi all,
>>
>> I am the author of Controlix, an operating system written in vhdl. I am
>> currently developing it using GHDL as the compiler, and the system
>> interface uses vhpi calls. Works OK on top of POSIX, but Icarus' vpp is
>> written in c instead of in ada, making a static linkage job for bare metal
>> targeting much more feasible.
>>
>> Afaics from perusing the sources, neither vhpi or vpp are currently
>> supported by vhdlpp. If someone is already looking into writing support for
>> this, I'd be happy to test, otherwise I might be able to take a crack at it
>> myself (I have the coding time available).
>>
> Hello Jon,
>
> Sorry nobody has replied to you sooner. As far as I know nobody is working on
> supporting VHPI - hopefully Steve or Orson will chime in if I'm wrong.
>
> I'm not familiar with VHPI myself, but at a quick glance it seems very similar
> to VPI.
Yes, although the full spec is a lot more complex than a simple
function-binding strategy.
However, most of the time you don't end up needing to implement the
full spec - GHDL
doesn't, all it implements is procedure and function calls.
> This means support would need to be added to the simulator runtime
> (vvp).
Yes again. What I am researching now is whether I can piggyback the
VHPI interface
on top of the VPI interface in VVP - that is, if %vpi_call() calls can
be generated by
vhdlpp from VHPIDIRECT functions and procedures.
> This may not be a big deal in itself, but I suspect the problem you
> will run into is that vhdlpp is just a preprocessor that converts VHDL to
> SystemVerilog, so some knowledge of the original code may get lost on the way.
I think that as long as the end product .vpi code contains the
necessary %vpi_call()s,
this shouldn't be a problem. All I will need at that point is a .c
file to link into
vpp to map a VHPIDIRECT string to a symbol in the object file. I think
libDL can do that.
[snip]
> By vpp, do you mean the VHDL preprocessor?
No, sorry I meant VVP, not vpp. |->
Jon
------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors
network devices and physical & virtual servers, alerts via email & sms
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
Iverilog-devel mailing list
Ive...@li...
https://lists.sourceforge.net/lists/listinfo/iverilog-devel
|