Home    Bloggers    Messages    Webinars    Resources   
Tw  |  Fb  |  In  |  Rss
Adam Taylor

Ask Adam VHDL: Logic Values

Adam Taylor
Page 1 / 2 Next >
Page 1 / 2   >   >>
devel@latke.net
devel@latke.net
10/26/2012 3:25:06 PM
User Rank
Guru
Re: Don't mention std_ulogic
Adam -- 

"luckily I have never had to write a resolution function."

The only reason you would ever need to write a resolution function is if you defined your own type and you needed to take care of multiple assignments to a signal.

And since most people rarely have a need to define a custom type, this isn't something anyone really has to deal with.

 

50%
50%
devel@latke.net
devel@latke.net
10/26/2012 3:21:36 PM
User Rank
Guru
Re: Don't mention std_ulogic
Jez -- 

"std_ulogic and resolution functions are used in situations where you have things like two tri_state busses connected together and you want to simulate them and it all gets a bit hairy."

std_logic handles the resolution for tri-state drivers well enough. I've never seen the need to start with std_ulogic and deal with resolution myself.

50%
50%
Adam Taylor
Adam Taylor
10/26/2012 3:53:53 AM
User Rank
Blogger
Re: Don't mention std_ulogic
There is a bit about them on page two. 

 

std_ulogic seems to be pretty popular with ASIC designers, in my experience, luckily I have never had to write a resolution function. 

50%
50%
JezmoSSL
JezmoSSL
10/26/2012 2:28:55 AM
User Rank
Blogger
Don't mention std_ulogic
Its a good job you didnt mention std_ulogic and resolution functions or are you going to discuss those at a later date?

To be honest I think I have only even written one resolution function and it was painful.

std_ulogic and resolution functions are used in situations where you have things like two tri_state busses connected together and you want to simulate them and it all gets a bit hairy.

50%
50%
Adam Taylor
Adam Taylor
9/20/2012 3:43:11 PM
User Rank
Blogger
Re: IEEE standard 1164 mini-training
W, L and H are interesting I do not use them very often, except if modeling pull ups in simulation

50%
50%
gina r smith
gina r smith
9/20/2012 2:02:51 PM
User Rank
Beginner
Re: IEEE standard 1164 mini-training
Yes, Thanks Adam for mini-training.  I've wondered about the other values as well.  From time to time I've used other values like "X" or "-" but can't remember ever using the weak signals.

50%
50%
devel@latke.net
devel@latke.net
8/23/2012 11:00:59 PM
User Rank
Guru
Re: tristate logic within the fabric
"Everything worked fine in simulation, and in fact as I synthesized the first time it worked well. If I remember well it was on a Xilinx Virtex. But when I wanted to synthesize the same block in an Actel (an A54SX I think) it just ended with an error."

Now I know that the ancient XC4000-series Xilinx FPGAs had internal tristates, and the original Virtex and possibly Virtex-E devices may have had them too because those parts are from the same timeframe (late 90s). 

There is (or at least was) an XST option which will automatically convert tristated signals into standard multiplexors. That's likely why the code synthesized for a Virtex (you don't say which Virtex device).

 

But certainly nothing newer than Spartan2 has internal tristates, and the synthesis tools offered the conversion as a way to allow code that supported those tristates to be used with newer devices. Obviously the right thing to do is to rewrite the code.

-a

50%
50%
devel@latke.net
devel@latke.net
8/23/2012 10:52:46 PM
User Rank
Guru
Re: tristate logic within the fabric
"Do any current FPGAs use tri-state logic within the FPGA fabric?"

Not that I'm aware of, and to be honest, I don't really see the need.

Certainly, tristates are useful, for example when you need to minimize the number of I/Os and you can do a half-duplex bus like the data or memory bus on most microprocessors.

But inside the FPGA? Nah. Not even as an alternative to large multiplexers.

-a

50%
50%
celine
celine
8/23/2012 9:29:07 AM
User Rank
Expert
Re: tristate logic within the fabric
I would be interested in the answer !

What I do know is that using the 'Z' value to describe an FPGA internal signals can be tricky.

In my early years as a designer (not so long ago ;-)) I happened to design an architecture with a tristate bus inside a FPGA. I can't remember exactly why, but the purpose was probably to share a single internal RAM between two units that needed to write in it, and I was inspired by what I had seen on board for sharing a memory.

Everything worked fine in simulation, and in fact as I synthesized the first time it worked well. If I remember well it was on a Xilinx Virtex. But when I wanted to synthesize the same block in an Actel (an A54SX I think) it just ended with an error.

Then I joined a company where coding guidelines included explicitly to reserve tri-state signals to describe the interfaces of the top-level and it was the end of my misadventure.

50%
50%
Bill White
Bill White
8/20/2012 8:21:05 PM
User Rank
Expert
Re: IEEE standard 1164 mini-training
I have come to a slightly better understanding of the nine states and why they make sense.  Look forward to learning more in your upcoming blogs, Adam.  I surely don't remember this from school.

50%
50%
Page 1 / 2   >   >>
More Blogs from Adam Taylor
Here we discover how to use the XADC (Xilinx Analog-to-Digital Convertor) in the Zynq All Programmable SoC to read the chip's internal temperature and voltage parameters and output them over an RS-232 link.
Now it's time to consider how we can implement and use the Xilinx Analog to Digital Convertor (XADC) within a Zynq All Programmable SoC-based system.
The Zynq All Programmable SoC comes equipped with programmable analog capabilities that can be used in a wide variety of applications, including defense, industrial, and automotive systems.
This is the blog we've all been waiting for – the point where we finally create our very first, standalone, "bare metal" Zynq application!
In the case of a real-world use model, we want to store our software program and configuration bitstream in nonvolatile memory and configure the device after the power comes on.
flash poll
follow us on twitter
follow Xilinx on twitter
like us on facebook
like Xilinx on facebook
All Programmable Planet     About Us     Contact Us     Help     Register     Twitter     Facebook     RSS