Message: 7
     Date: Sat, 6 Nov 2010 19:37:20 -0400
     From: DJ Delorie <[[email protected]>
     Subject: gEDA-user: icarus, fork, and recursive tasks
     To: [2][email protected]
     Message-ID: <[3][email protected]>
     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:[email protected]
   2. mailto:[email protected]
   3. mailto:[email protected]

_______________________________________________
geda-user mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

Reply via email to