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.

Synthesis of 'z' in verilog.

Status
Not open for further replies.

Anay

Newbie level 1
Joined
Feb 23, 2006
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,293
Hi

I am writing verilog code for data compression techniques and I want to write 'z' in memory module. Also I would like to compare these 'z' values with logic 1 and logic 0. I know we can do it in simulation but what about synthesis. Can I do the same??? Is there any remedy to above problem.

Thank you,

Anay
 

gliss

Advanced Member level 2
Joined
Apr 22, 2005
Messages
691
Helped
75
Reputation
150
Reaction score
16
Trophy points
1,298
Activity points
5,892
No, I doubt a memory module will store a 'z' value. That would be a bad idea.
 

eda_wiz

Advanced Member level 2
Joined
Nov 7, 2001
Messages
653
Helped
58
Reputation
116
Reaction score
29
Trophy points
1,308
Activity points
6,195
comapring with Z not possible in hardware.. so redesign your logic..
 

snake_eyes

Member level 3
Joined
May 16, 2002
Messages
56
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,286
Activity points
307
"Z" is called as high-impedance. In electrical world, high-impedance means open pin/connection. I hope you have got this concept here.
Okay now let's think! if you want to store "Z" in memory. That mean keeping your data input pins of memory open right? Its similar like if you want to store 1 you put 1 on data input. Now to store "Z" you have to make data input port open. Now its obvious that if you leave data input port open, the memory won't store anything.

Since there is not actual value as "Z" in digital logic like logic "0" or logic "1". In verilog its defined because to represent open connections. The "Z" factor is also used in dual direction buses. The high-impedence buffer output will be "Z" if disabled.

Cheers!
Tejas

**** If get benefitted from the post, acknowledge the author by points *****
 

jjww110

Full Member level 5
Joined
Apr 19, 2005
Messages
255
Helped
8
Reputation
16
Reaction score
2
Trophy points
1,298
Location
china
Activity points
2,920
'z' can not happen in real circuit!!
 

verilog_coder

Member level 3
Joined
Jan 4, 2006
Messages
54
Helped
4
Reputation
8
Reaction score
2
Trophy points
1,288
Location
Pakistan
Activity points
1,725
z is not a valid value for memory elements. z can be driven using tri state bufferes but memory element can not be driven high impedance.
 

visualart

Advanced Member level 1
Joined
Dec 21, 2001
Messages
466
Helped
28
Reputation
56
Reaction score
4
Trophy points
1,298
Activity points
3,333
a excellent coding style don't use any "z" in the design, except the iopad.
embedded the 'Z' state shall bring some trouble suah as testable, power....
 

Thomson

Full Member level 3
Joined
Oct 15, 2004
Messages
181
Helped
4
Reputation
8
Reaction score
1
Trophy points
1,298
Activity points
2,400
Hi,
Two scenarios may have z's, which are casez/x or assign statements.
For the previous one, it means that the corresponding z represents ignored.
However, for the latter, it is always used to model the three-state component as wished. For example, the bi-direction ports.

Note: please don't contain such bi-direction signals in your internal logic description. They are often used in your I/O description.


Thomson
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top