gEDA-dev: Thoughts on buses in gschem
Peter TB Brett
peter at peter-b.co.uk
Wed Jul 12 10:53:48 EDT 2006
DJ Delorie wrote:
>> Any comments/suggestions/implementations gratefully received.
>>
>
> In my current project, I need to be able to do this:
>
> * The CPU uses A0..A23 for address bytes, with a !BHE for odd-words
> (i.e. it's an inverse of A0), and D0..D15 for data.
>
> * The ethernet chip uses an 8-bit bus, so it uses A0..A7 and D0..D7.
>
> * The sram chip uses a 16 bit bus, so it uses A1..A18 (but the chip
> labels them A0..A17) and D0..D15, with A0 and !BHE wired to control
> pins.
Okay, so according to my scheme as suggested (you may need to draw this):
The CPU (U1) has bus pins A[0:23] and D[0:15], and a normal pin !BHE.
The eth chip (U2) has bus pins A[0:7] and D[0:7].
The sram chip (U3) has bus pins A[0:17] and D[0:15], with normal pins WS
and !WS.
A piece of bus labelled A[0:23] connects U1/A[0:23] to U2/A[0:7], and
via a bus splitter to another piece of bus labelled A[1:18], which
itself connects to U3/A[0:17]. A piece of net labelled A0 connects from
the original bus (via a bus splitter) to U3/WS.
A piece of bus labelled D[0:15] connects U1/D[0:15] to U2/D[0:7] and
U3/D[0:15] with no bus splitters needed.
A piece of net connects U1/!BHE to U3/!WS.
Does that seem like it would make sense/be intuitive?
Peter
More information about the geda-dev
mailing list