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