Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

why 9 values in std_logic

Status
Not open for further replies.

pwq1999

Member level 2
Member level 2
Joined
Mar 2, 2008
Messages
42
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,578
i am wondering why ieee defines Std_logic with 9 values, and how it is implemented in FPGA.
'U'---Unintialized
'X'---Forcing(i.e. strong) unknown
'0'---Forcing 0
'1'---Forcing 1
'Z'---High impedance
'W'---Weak unknown
'L'---Weak 0
'H'---Weak 1
'-'--- Don't care

in digital logic design, we often use logic '1' and logic '0' and 'Z'. i want to know the difference between '0' and 'L', '1' and 'H' ,and so on.

How all those values are implemented in FPGA? are there some special resources available inside the Fpga ?

any input is appriciated!
Thanks in advance!
 

amitgangwar_vlsi

Member level 5
Member level 5
Joined
Jul 6, 2007
Messages
88
Helped
10
Reputation
20
Reaction score
2
Trophy points
1,288
Location
Pune,India
Activity points
1,913
out of 9 values only 0,1,X,Z are synthesizable..........so we can implement only these 4 values on FPGA............
 

pwq1999

Member level 2
Member level 2
Joined
Mar 2, 2008
Messages
42
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,578
since only four values are synthesizable, i still cannot get it why they use 9 values, what other values are used for ?

thanks for your reply,amitgangwar_vlsi
 

amitgangwar_vlsi

Member level 5
Member level 5
Joined
Jul 6, 2007
Messages
88
Helped
10
Reputation
20
Reaction score
2
Trophy points
1,288
Location
Pune,India
Activity points
1,913
in VHDL there are some constructs are only for simulation not for synthesis like...delays(inertial, transport, reject), textio, assert etc...
 

pwq1999

Member level 2
Member level 2
Joined
Mar 2, 2008
Messages
42
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,578
if they are only used for simulation, how can i used them?
thanks for your reply,amitgangwar_vlsi !
 

amitgangwar_vlsi

Member level 5
Member level 5
Joined
Jul 6, 2007
Messages
88
Helped
10
Reputation
20
Reaction score
2
Trophy points
1,288
Location
Pune,India
Activity points
1,913
some constructs are used only till simulation level... these are used like..........textio is used for taking input at the time of simulation from a text file to your vhdl program and write back your output to the text file..... "after" statement is used for delay but it is not synthesizable... at the time of actual implementation you have to design a counter to count that time... OK
 

pwq1999

Member level 2
Member level 2
Joined
Mar 2, 2008
Messages
42
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,578
i know that textio is used to simulation,and the key word 'after' to describe the delay of hardware, but i just don't know how to used the 9 values in std_logic .
thanks all the same!
 

amitgangwar_vlsi

Member level 5
Member level 5
Joined
Jul 6, 2007
Messages
88
Helped
10
Reputation
20
Reaction score
2
Trophy points
1,288
Location
Pune,India
Activity points
1,913
just find out the resolution table for 9 type of values.... according to which output value return on a signal when there are more than one driver drive that signal. that is called multiple driver problem. this is removed by the resolution table.
write a program and force different values to one signal and see the out put. in 9 values there is a sequence of strength, X has highest strength while Z has lowest... just read about resoultion table........

amit gangwar
 

    pwq1999

    Points: 2
    Helpful Answer Positive Rating

hamed_sotoudi

Full Member level 3
Full Member level 3
Joined
Aug 1, 2007
Messages
156
Helped
15
Reputation
30
Reaction score
4
Trophy points
1,298
Location
Germany Hamburg
Activity points
2,195
Most of them is for simulation for example if u drive a signal with to other signal at the same time for this the simulator doesnt know the correct value so cos of the std_logic it chooses 'X' for signal of if for a period of time your signal dosen't get value simulator assigns 'u' for it.

Added after 1 minutes:

and all of this is because VHDL had been desined for simulation purpose many times later that technology progressed it changed to support synthesising.
 

    pwq1999

    Points: 2
    Helpful Answer Positive Rating

pwq1999

Member level 2
Member level 2
Joined
Mar 2, 2008
Messages
42
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,578
Really thanks, amitgangwar_vlsi and hamed_sotoudi !
you two helped me a lot!
now i get the meaning and thanks again!
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top