Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/24/07 16:15
Read: times


 
Msg Score: +2
 +2 Good Answer/Helpful
#133630 - More on Verilog data buses
Responding to: ???'s previous message
In the ideal case, the only tri-state bus is the external data bus.

Inside of your design, you have two data buses. These are an input data bus that is only used for writing to registers, and an output data bus that is used to read registers. Since there is only one input source (the data pins), there is no need to tri-state the input bus. The pins always drive it.
assign ctr_din = data_io;
The output bus really isn't a bus. You use a mux to select which register you want to read on the external data pins. A final mux determines if the device output buffers are to be turned on.
assign internal_bus = read_a ? data_a :
                      read_b ? data_b :
                      read_c ? data_c : 
                               data_d ;
assign data_io = (!cs & !rd) ? internal_bus : 8'bz; 
Note that all internal nodes are defined, and the only z state is on the data_io.

I use the split bus technique to implement the SFR bus in our 8051s. (This ties this thread back to the 8051 topic.)


List of 21 messages in thread
TopicAuthorDate
Simulation and Synthesis of verilog code            01/01/70 00:00      
   my comments on having a quick look            01/01/70 00:00      
      if..else...            01/01/70 00:00      
   Changes to verilog code            01/01/70 00:00      
      worst case??            01/01/70 00:00      
         Logical "Z" state, data buses, and more            01/01/70 00:00      
            Not sure what happens in verilog but vhdl            01/01/70 00:00      
               Verilog vs VHDL types            01/01/70 00:00      
            But in the 8254 datasheet,            01/01/70 00:00      
               More on Verilog data buses            01/01/70 00:00      
                  Thank you Lynn!            01/01/70 00:00      
                  XILILNX is the problem!            01/01/70 00:00      
                     Spartan II is just out of choices            01/01/70 00:00      
                        There are good reasons for Spartan-II            01/01/70 00:00      
                     Altera is doubly unhelpful            01/01/70 00:00      
   Where's the 805x?            01/01/70 00:00      
      well, he is fooling with a 8254            01/01/70 00:00      
      "chat forum"            01/01/70 00:00      
         Well, OK ...            01/01/70 00:00      
         how was I to know that?            01/01/70 00:00      
            mentioned in an earlier thread Erik.,            01/01/70 00:00      

Back to Subject List