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

Re: gEDA-user: icarus, fork, and recursive tasks



     Message: 7
     Date: Sat, 6 Nov 2010 19:37:20 -0400
     From: DJ Delorie <[1]dj@xxxxxxxxxxx>
     Subject: gEDA-user: icarus, fork, and recursive tasks
     To: [2]geda-user@xxxxxxxxxxxxxx
     Message-ID: <[3]201011062337.oA6NbKeu014425@xxxxxxxxxxxxxxxx>
     I'm trying to simulate an MCU's bus processor, which has a couple of
     timing parameters all keyed off the start of a transaction.
     Naively, I did this:
          fork
             mcu_cson (address);
             mcu_wron (address);
             mcu_wdon (address);
             mcu_cswwait (address);
          join
     Each mcu_* task would wait the right number of cycles, toggle its
     line, and return.  However, they all called one task (twait()) that
     did "wait the right number of cycles".
     Not to usefully, they all shared the one task (or variable), and
     thus
     all exited at exactly the same time.
     How do I do a local instantiation of a task?
     I'm running iverilog-0.9.20091230
     ------------------------------

   task automatic twait
   John Eaton

References

   1. mailto:dj@xxxxxxxxxxx
   2. mailto:geda-user@xxxxxxxxxxxxxx
   3. mailto:201011062337.oA6NbKeu014425@xxxxxxxxxxxxxxxx

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