??? 01/13/07 05:27 Modified: 01/13/07 05:36 Read: times |
#130764 - Since \'diomux\' is a register.... Responding to: ???'s previous message |
Andy Peters said:
If it turns out that these registers are loaded ONLY from the chip's data I/O pins D[7:0], then you don't need a mux; all you need to do is decode the control stuff to load the registers at the right time. Yes. Thats is what i need to do. Driving the various outputs on the data I/O pins will require a mux and a tristate. The control logic for the mux should be kept separate from the tristate logic.It'll be something like this: assign oe = (!RD_l && !CS_l); assign dio = oe ? diomux : 8'bZZZZ_ZZZZ; always @(*) begin : diomuxselect case ({A, ctrlword}) CASE0 : diomux = ...; CASE1 : diomux = ...; ... CASEN : diomux = ...' endcase end // diomuxselect Note that diomux must be declared as an 8-bit reg. Writing is similar. -a Since 'diomux' is a register how could i use it on the LHS of 'assign' statement during write operations? regard's Suresh. |