Re: Constant assignments in co-simulation

Nikolay Kavaldjiev <[email protected]>
Newsgroups gmane.comp.python.myhdl
Message-ID <CAPKJYX2LOdvhx2zyW0s_wehN1LspKUqeGGQQ=WKT7UHJeA4Q-A@mail.gmail.com>
> Ahhh yes, you are trying to Cosimulate a design
> that has no inputs.  I forget the particular
> reasons but I don't believe it is possible to
> Cosimulate such a limited design.
> http://docs.myhdl.org/en/latest/manual/cosimulation.html#restrictions

To exclude this as a possibility I modified the example module in the gist (
https://gist.github.com/nkavaldj/7cc69372246e64d68f58) to have an input and
I still have the same issue with co-simulation (only with co-simulation).

The modified code:

def const_assign(x, y, aBit, aByte):

    @always_comb
    def logic():
        y.next = x + 5
        aBit.next = True
        aByte.next = 55

    return logic


Converted code:

module const_assign (
    x,
    y,
    aBit,
    aByte
);

input [7:0] x;
output [7:0] y;
wire [7:0] y;
output aBit;
wire aBit;
output [7:0] aByte;
wire [7:0] aByte;

assign y = (x + 5);
assign aBit = 1'b1;
assign aByte = 55;

endmodule



> You shouldn't have any issue Cosimulating a
> complete design.

Actually we have the issue in a large/complete design with plenty of inputs
and outputs. The gist is just a minimalistic example that demonstrates the
issue. We are using myhdl for more that two years now, including
co-simulation, so it should not be a beginners issue. I hit the issue a
week ago, and I cannot move since.


Regards,

Nikolay


On 26 May 2015 at 18:25, Christopher Felton <[email protected]> wrote:

> On 5/26/2015 10:57 AM, Nikolay Kavaldjiev wrote:
> > Thanks Chris!
> >
> > I don't think that preserving the combinatorial assignment is my issue,
> > because the module I have:
> <snip>
> >
> > assign b = 1;
> > assign aBit = b;
> > assign aByte = 85;
> >
> >
> > Which to me looks OK.
>
> I agree, the conversion look fine.
>
> >
> > My problem comes when I do co-simulation with Icarus. Then instead of
> > observing the expected aBit==True and aByte==0x55, I observe aBit==False
> > and aByte==0, which are the default values of the MyHDL signals connected
> > co-simulated module.
> >
>
> Ahhh yes, you are trying to Cosimulate a design
> that has no inputs.  I forget the particular
> reasons but I don't believe it is possible to
> Cosimulate such a limited design.
> http://docs.myhdl.org/en/latest/manual/cosimulation.html#restrictions
>
> See the example in the documents for a basic
> example:
>
> http://docs.myhdl.org/en/latest/manual/cosimulation.html#co-simulation-with-verilog
>
> You shouldn't have any issue Cosimulating a
> complete design.
>
> Regards,
> Chris
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> myhdl-list mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/myhdl-list
>

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y

_______________________________________________
myhdl-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/myhdl-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.