Re: pullups
- From: Jonathan Bromley <jonathan.bromley@xxxxxxxxxxxxx>
- Date: Wed, 10 Sep 2008 09:32:33 +0100
On Tue, 9 Sep 2008 23:41:24 -0700 (PDT), ujku wrote:
I want to write the following configuration in verilog or
systemverilog:
2 tristate buffers which drives a certain wire A.
both bufferes have the same enable signal expect that it is inverted
in one of the buffers. additionaly the wire A is puuledup with
something like this
pullup pw(A);
The problem is that this doesnt allow to the buffers to drive a low
level on that wire. In that case i get X on my simulation.
Really? If your 3-state drivers are of the default "strong"
driving strength, there should be no problem.
This works fine for me:
module tristate (input choose, d0, d1, output y);
assign y = choose ? d1 : 1'bz;
assign y = choose ? 1'bz : d0;
pullup pu_y(y);
endmodule
However, you don't need the pullup because your tristate
enable is simply acting as a multiplexer. This is
just as good, faster to simulate and more synthesis-friendly:
assign y = choose ? d1 : d0;
--
Jonathan Bromley, Consultant
DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services
Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@xxxxxxxxxxxxx
http://www.MYCOMPANY.com
The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.
.
- References:
- pullups
- From: ujku
- pullups
- Prev by Date: pullups
- Next by Date: posedge
- Previous by thread: pullups
- Next by thread: posedge
- Index(es):
Relevant Pages
|