[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: control verilog module parameter order when converting .sch and .sym with gnetlist?



    Done. Thanks a lot Paul.
    --- On Mon, 11/22/10, Paul Tan <pt75234@xxxxxxx> wrote:

      From: Paul Tan <pt75234@xxxxxxx>
      Subject: Re: gEDA-user: control verilog module parameter order when
      converting .sch and .sym with gnetlist?
      To: geda-user@xxxxxxxxxxxxxx
      Date: Monday, November 22, 2010, 1:25 AM

    Hi Chris,
    On Sunday 21 November 2010, Chris wrote:
    > Btw: The bufif1 symbol from the verilog library get's compiled with
    > it's inputs in the wrong order. That is the gnetlist -g verilog
    > produced bufif1(IN,OUT,CNTRL) instead of bufif1(OUT,IN,CNTRL). How
    can
    > I change that? I changed the INPUT0 and INPUT1 statements in the
    > attributes of the pins, but that didn't change anything.
    There is a problem with the stocked bufif1-1.sym file. (may be others
    too).
    The Verilog standard requires the primitive bufif1 to
    use the port order:
      bufif1(output, input, control).
    Changing the order require cut/paste the entire pin definition
    section such as:
    //==================
    P x x x x x x x
    {
    ...
    }
    //==================
    To correct that cut and paste the following (between, but
    not including the "//====" lines) and save as your
    new bufif1-1.sym file:
    //==================================
    v 20031231 1
    L 300 800 800 500 3 0 0 0 -1 -1
    L 800 500 300 200 3 0 0 0 -1 -1
    L 300 800 300 500 3 0 0 0 -1 -1
    L 300 500 300 200 3 0 0 0 -1 -1
    P 1100 500 800 500 1 0 0
    {
    T 915 550 5 8 0 1 0 0 1
    pinnumber=OUTW
    T 915 550 5 8 0 0 0 0 1
    pinseq=1
    }
    P 300 500 0 500 1 0 1
    {
    T 0 550 5 8 0 1 0 0 1
    pinnumber=INW
    T 0 550 5 8 0 0 0 0 1
    pinseq=2
    }
    P 0 900 550 900 1 0 0
    {
    T 50 950 5 10 0 1 0 0 1
    pinnumber=CONTROLW
    T 50 950 5 10 0 0 0 0 1
    pinseq=3
    }
    L 550 900 550 650 3 0 0 0 -1 -1
    T 700 750 2 10 0 0 0 0 1
    VERILOG_PORTS=POSITIONAL
    T 650 250 2 10 0 1 0 0 1
    device=bufif1
    T 500 300 5 10 1 1 0 2 1
    refdes=U?
    //==================================
    diff the old file with this new one, and see where
    the cut/paste occur.
    Notes:
    1) The above quick fix depends on the SIDE EFFECT of how
    the current gEDA core process the symbol file. To really
    fix the problem, gnet-verilog.scm needs to be fixed.
    For now, it should work.
    2) To prevent symbol library problem down the road, try to
    follow John Doty advice:
    [1]http://archives.seul.org/geda/user/Nov-2010/msg00425.html
    Best Regards,
    Paul Tan
    _______________________________________________
    geda-user mailing list
    [2]geda-user@xxxxxxxxxxxxxx
    [3]http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

References

   1. http://archives.seul.org/geda/user/Nov-2010/msg00425.html
   2. file://localhost/mc/compose?to=geda-user@xxxxxxxxxxxxxx
   3. http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user