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.

How to set the EMA pin in Artisan memory compiler?

Status
Not open for further replies.

zic

Newbie level 5
Joined
Jul 25, 2008
Messages
9
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,325
Hi all.
Now I have a problem.
That is, I am using Artisan memory compiler to generate some memories.
I have noticed that there is a pin named "EMA" which means Extra margin Adjustment.

In my design, How should I set this pin?

Thanks very much!
 

Re: Artisan EMA

In memories , before taking the output pins to external world. there will be series of delay buffers added in the path . thus the output signal reaches the external world after going through series of delay buffers.

If we tap the signal before these delay buffers, your timing numbers will be better. that is EMA [000]. sometimes running at EMA [000] ur circuit might fail, but delaying the output (decreasing the frequency of operation) can make ur circuit to work. In such case we use appropriate EMA number. Instead of throwing out the chip, because of memory failure (not bale to meet the high freq ) , you can reuse the chip by running it it slower freq (there by adjusting EMA pins)


This is just like adding more pessimism especially to protect again On-Chip variations , process variations & other spatial variations that occur in silicon . much similar to adding 2-3% pessimism in setup & hold numbers.so even after worst case delay in all these variations in silicon, still your memory will meet timing.
 

Re: Artisan EMA

Hi Nav,
Thanks very much for your reply!
I have checked the generated .lib file and the .v verilog model file, and I found that EMA signals have no effect on the memory's function, or in other words, there is no circuit it can drive. The only thing that EMA refered is that it controls the delay between CK -> Q.
In addition, I have write a simple testbench to verify the models. under different EMA values, the delay CK -> Q is 1ns all the time.
So in my opinion, the EMA pins are useful only on the design phase. That is, if I choose a larger EMA value, then more margin is given to memory and then we should constrain more to the other part of the chip to meet the timing requirment. Once the chip is fabricated, the EMA pins can tie to any value, because there is no circuit from EMA pins, which means they can't affect the chip any more.
Is my understand right?

Regards!
 

Re: Artisan EMA

Either make them programmable, connect them to IOs, or set them to the highest value you can close timing with along with other pessimism. They are used to tune the design as you get silicon back for yield purposes. We went through this with the EMA pins tied to all 0 because we didn't know any better. Needless to say our EMA pins are now programmable, but are set to the highest EMA setting we can close timing at.

Long story made short, a bug in the memory design along with EMA=0 slit our throats.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top