omara007
Advanced Member level 4
- Joined
- Jan 6, 2003
- Messages
- 1,237
- Helped
- 50
- Reputation
- 102
- Reaction score
- 16
- Trophy points
- 1,318
- Location
- Cairo/Egypt
- Activity points
- 9,716
Re: Delaying the Clock
For delay clauses .. as mentioned, by guideline, it's not recommended to be coded in RTL .. if you need an evidence, please refer to RMM ..
Delays as I said, should be inserted (if needed) at the backend .. not at the front-end .. In synthesizable RTL code, clock nets are normally considered ideal nets, with no delays.
For wire-load models, they are not practical for big designs .. it's been years since people replaced it with physical synthesis .. wire-load models are no more than mathematical solution to backend delays .. while physical synthesis is much closer to reality as it indeed maps the routes during the synthesis process ..
Formal verification can't replace functional verification .. Formal verification is used in cases in which you want to compare 2 different representations of your design without going through details .. for example, you have an RTL and its netlist .. the original RTL is already verified .. and now you want to verify the netlist .. you don't need to go again through the whole dynamic/functional simulation to verify the netlist .. all you need to do is to formally verify this netlist against the original RTL .. which is by turn already been verified ..
salma ali bakr said:yah yah...i meant STA
sorry!
so one should avoid writing delay clauses....and not use wire-load models since they're inaccurate (except for small designs)...
so how should this be done then..???!!!
about formal verification: do you mean it would be better to replace all functional verification (simulations, STA, etc..)...by formal ways (equivalence checking, model checking, property monitors...etc) ?!
For delay clauses .. as mentioned, by guideline, it's not recommended to be coded in RTL .. if you need an evidence, please refer to RMM ..
Delays as I said, should be inserted (if needed) at the backend .. not at the front-end .. In synthesizable RTL code, clock nets are normally considered ideal nets, with no delays.
For wire-load models, they are not practical for big designs .. it's been years since people replaced it with physical synthesis .. wire-load models are no more than mathematical solution to backend delays .. while physical synthesis is much closer to reality as it indeed maps the routes during the synthesis process ..
Formal verification can't replace functional verification .. Formal verification is used in cases in which you want to compare 2 different representations of your design without going through details .. for example, you have an RTL and its netlist .. the original RTL is already verified .. and now you want to verify the netlist .. you don't need to go again through the whole dynamic/functional simulation to verify the netlist .. all you need to do is to formally verify this netlist against the original RTL .. which is by turn already been verified ..