[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