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.

timing violation netlist simulation

Status
Not open for further replies.

l.chelini

Newbie level 2
Joined
Feb 12, 2017
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
19
Hello guys,

I have a synthesized netlist at 1GHz (STA does not report any violation). However, when I am simulating the netlist (at 1GHz) I am getting: Warning! Timing Violation.
I think there is a problem in my testbench, but I am not able to figure it out.
The testbench used is the following:
Code:
begin
  reset <= '1';
  wait for 10 ns;
  reset <= '0';
  while(index_line < Size_test_vectors) loop
    wait until clock'event and clock='1';
    #assign to input
    Xin <= input_vector(index_line);
    #print on a file some info.
    index_line := index_line + 1;
  end loop;
....
Thanks in advance.
 

Hi I.chelini,

I may not be right but in your testbench, I would say you change the following line

Code:
    ...
    index_line := index_line + 1;
    ...

to

Code:
...
index_line <= index_line + 1;
...

so that you have a 'registered' result of index_line to reference for the less-than operation.
 

Hello guys,

I have a synthesized netlist at 1GHz (STA does not report any violation). However, when I am simulating the netlist (at 1GHz) I am getting: Warning! Timing Violation.
I think there is a problem in my testbench, but I am not able to figure it out.
The testbench used is the following:
Code:
begin
  reset <= '1';
  wait for 10 ns;
  reset <= '0';
  while(index_line < Size_test_vectors) loop
    wait until clock'event and clock='1';
    #assign to input
    Xin <= input_vector(index_line);
    #print on a file some info.
    index_line := index_line + 1;
  end loop;
....
Thanks in advance.

I think you are seeing clock and data switching at the same time, causing hold violations
 

Hi,

Another thing you could check is the timing resolution set in your simulator.

There may be an oversight there.

The resolution may be too big compared with your clock signal.
 

I think you are seeing clock and data switching at the same time, causing hold violations

Yeah, you have nothing in the testbench that would emulate the delays that occur on the ASIC inputs/outputs to match what was used for constraining the design. So I can easily believe you would have problems simulating the netlist.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top