On Sun, 2013-12-08 at 01:28 +1300, David Koontz wrote: > > On 8 Dec 2013, at 12:02 am, Svenn Are Bjerkem > <svenn.bjer...@googlemail.com> wrote: > > > Hi, > > > > I am currently working on a SmartFusion2 project, ... > > I hope to provide testvectors to the VHDL hardware level which > > represent corner cases difficult to reproduce in the lab and to give > > the software developers a reliable development platform.
Just to expand on what David's saying a little (and if I've misunderstood, keep me straight!) > The only way to drive an elaborated VHDL model is through the > simulation cycle. > > Synchronization of two disparate systems so their notion of time > passing is synchronized by event transactions caused by the I/O is > imaginable. It would entail process suspension (blocking) while one > system or the the other was waiting on the other and require that > there could be no dead locks, The specific import of this - to ghdl - is that ghdl's VHPI interface really only supports procedure/function calls between languages. So if you can structure the interaction such that a VHDL process calls a C function or procedure (void function), that process will block until the function's return, and that takes zero simulation time (occurs within a delta cycle). Thus with the VHDL side in control, the simulation cycle controls the timing. My experience calling VHDL from C is less successful; though it ought to be possible at a coarse (outer) level, to start the VHDL system (e.g. bring the SOC out of reset). Further interaction would then be triggered from the VHDL side. > At about this point not having a clear idea of what you're actually > building I'd imagine asking the vendor, so looking through the > SmartFusion2 SoC FPGA microsemi page which leads you their Libero SoC > software tools which doesn't include co-simulation from the looks of > it. I am afraid my opinion of that toolchain, and especially the level of support you can expect on it, is not high. (One example : despite several requests for source code on a GPL part of their toolchain, they failed to provide it. I eventually found it on an entirely different vendor's website) > Without knowing what you're trying to do I see co-simulation as being > of limited value based on effort and schedule time, when with an > evaluation kit board as a starting point you could 'grow' your target > platform incrementally. When you reach some threshold you're done > with the development kit and using your own platform. This is the model I followed on a recent (ProAsic3 rather than SmartFusion) project. - Brian _______________________________________________ Ghdl-discuss mailing list Ghdl-discuss@gna.org https://mail.gna.org/listinfo/ghdl-discuss