|
From: Stephen W. <st...@ic...> - 2014-12-02 19:23:51
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 This created some chaos in the vec4-stack branch. Totally not your fault, but it is encouraging me to get my act together and get it merged into the master branch as soon as possible. On 11/28/2014 05:33 AM, Maciej Sumiński wrote: > Hi Steve, > > The VPI functions to access dynamic arrays are ready to be merged. > This is the groundwork that will allow me to write support for > functions working with std_logic_vectors of undefined size, that > has been my desire for a long time already. > > The pull request [1] also includes a previously sent branch that > introduced type casting in SV. As usual, the new features are > demonstrated with tests [2]. > > I think changes to VPI code deserve some further explanation. I did > my best to reuse as much of existing code as possible. As the > result, I added __vpiArrayBase type that gathers common traits of > both static and dynamic arrays (respectively __vpiArray and > __vpiDarray). There are also __vpiArrayIndex, __vpiArrayWord and > __vpiArrayIterator that are used by both classes. > > A few static C functions that were called only by class methods > are moved directly to appropriate methods (e.g. grep for > vpi_array_var_word_get_value). A bunch of others are transformed > to methods, in case they were operating on an instance of a class > (see decode_array_word_pointer). > > As I have written recently, there is one thing left. If vectors > are used as the array element type, then there is no way to check > the details (2 vs 4-state logic and signedness). > > Regards, Orson > > 1. https://github.com/steveicarus/iverilog/pull/49 2. > https://github.com/orsonmmz/ivtest/tree/darray_vpi_test > - -- Steve Williams "The woods are lovely, dark and deep. steve at icarus.com But I have promises to keep, http://www.icarus.com and lines to code before I sleep, http://www.picturel.com And lines to code before I sleep." -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlR+EbwACgkQrPt1Sc2b3ikRrwCfVuQ4Gi8Esyt1BvgZKtV4X/JQ Yf4AnR5n/DSqFP/uCkqzUw+MKV49Z6Xk =dKF3 -----END PGP SIGNATURE----- |