Quantcast
Channel: Cadence Logic Design Forum
Viewing all 350 articles
Browse latest View live

conformal lec

$
0
0

Hi

During comparison I get some non-equivalent points. Some non equivalencies are due to " DC due to clock/data interaction and DC due to asynchronous interaction". Due to this in Golden, the input to a select input of mux is 1 and that to the revised is X. What is the solution ?. Kindly reply. 


conformal

$
0
0
I am verifying a rtl vs DC netlist. The verification passes only if I set one of the Asynchronous reset to 0. otherwise in revised design the reset value is not attended whereas in golden design reset is 1 

delay between 2 signals

$
0
0
Hello, i am beginner rtl compiler user. I have a question about synthesis with rtl compiler.

For example, i have 2 signals sig1 and sig2. In verilog code:

assign #10 sig2=sig1;
In synthesis I want to insert delay buffer between sig2 and sig1. Library which I want to use is contain delay buffer cells for different time delays. But i don't know which tcl command for rtl compiler inserts delay buffer between 2 signals.

how to identify unique nets connected to preset/clear pins of all FFs in a scope

$
0
0

I have not been able to find an attribute that shows whether a net in a scope is connected to a preset/clear of FF. 

The only way I have found:

foreach FF in a scope {
 foreach pin of this FF {
  if { libpin of this pin is a {async_clear} } { set an async_clear net }
  if { libpin of this pin is a {async_preset} } { set an async_preset net }
  if { libpin of this pin is a {sync_clear} } { set a sync_clear net }
  if { libpin of this pin is a {sync_preset} } { set a sync_preset net }
}
}

This is quite complicated, because in a certain block there can be several FFs each of which can be resetted in a different way, thus HW designer might need to create a TCL associative array to identify unique nets.

Is there an easier way to do this?

external delay

$
0
0

is externa dealy input is equel to settting setup time ?

external_delay –clock [find / -clock clock1] –input 200 -name in_con \
[find /des* -port ports_in/*] 

externa dealy output is equel to settting hold time ?

external_delay -clock [find / -clock clock2] –output 400 -name out_con \
[find /des* -port ports_out/*]

 

CIS DB source

$
0
0
Hi all,

I don't know if it is the correct section for my topic but I don't find a better place.

I'm trying to use Orcad Capture CIS 16.6 (Windows 7), but I have a problem to link my part DB to my configuration file, I followed the steps shown in the guide "cisug.pdf" and added in 'User DSN' section my db in ODBC manager (when I add the DB, I can see other orcad default DB); but when I try to create my configuration file I can't see my database, I don't see neither orcad databases already existing.

In youtube I saw a tutorial where all DB were added in 'System DSN' (I can not add my DB in System DSN for security company policy), so I want to know if there is a panel to configure the CIS and switch or enable 'User DSN'.

Thanks.

Help on LEC failure between compile netlist vs. compile_incr netlist from DC

$
0
0

Need a help on LEC: my LEC is clean between RTL vs. first compile netlsit from DC; however it failed on 30 points between RTL vs. compile_incr netlist.. I further did a gate-level LEC between compile netlist and compile_incr netlsit, but still same failing points as RTL vs. compile_incr.  What could be the root cause of it and how to clear?

Appreciated any good advice/suggestions!

Bryan 

how to find power of a design based on inputs given to the design using cadence

$
0
0
I am using clock gating in my design. When we use clock gating particular part of design will be dynamically off based on the requirement. Consider if there are two blocks (block1 and block2) in a design. For input1, only block1 will be switched on and block2 will be in OFF state. For next input i.e input2, only block2 will be in ON state and block1 will be in OFF state. So for different inputs different blocks will be in off or on state. Anyone please let me know how to calculate power for this kind of designs when the hardware used changes for different inputs. It would be very kind enough if you could reply to my query.. Thank you

Reading HDL files in RC

$
0
0

Hi.
I'm having problems migrating from DC to RC in terms of reading HDL files.

1. I have a directory with subdirectories which include .v files - when I specify the main directory as the HDL search path, RC doesn't read the .v files under the subdirectories - any idea why?
The manual says it works like the search in unix therefore I don't understand why it doesn't try to read the subdirectories.
2. I have .v files which have commands like `include ../../ - when running RC, RC moves to a directory of its own with no regard to where the command was run from (unlike DC where if I run it from a certain directory, this directory is the reference for finding other files in case I use realtive statements such as ..) - therefore, those realtive `include commands doesn't work - any idea how to solve the problem?

Thank you in advance,
Adi.


Originally posted in cdnusers.org byadi_j

Blackboxing in Conformal LEC.

$
0
0

Hi all, 

One of the most common problems with LEC FEV is modules getting Blackboxed.

 Can someone please add an exhaustive list or reasons that can cause it with a brief 2-3 lines description of each. - or a link to such a page.

Thanks 

How to set ignore for some of blackbox pins in LEC?

$
0
0

I am comparing pre-layout netlist and post-layout netlist in LEC.

Some of the blackbox pins are not connected in pre-layout netlist, which leads to non-equivalent points. I would like to ignore these. 

Does anyone know how to set ignore pins for some blackbox pins in LEC?  They are not primary input/output.

Thank you very much!

LEC - Conformal RTL to netlist mismatch

$
0
0

Hi, I have now seen this issue with two different designs and have not been able to figure out the root cause for this behaviour.

I have synthesized a design using RTL Compiler and have generated both mapped and an optimized netlist.

1. When I compare the RTL to mapped netlist (non-hierarchical comparison), I don't see any non-equivalent points.

2. When I compare the mapped netlist to the final optimized netlist, I don't see any non-equivalent points.

3. But when I compare RTL to final optimized netlist, I get non-equivalent points.

Looking into this matter in detail, I noticed that these non-equivalent points start showing up as soon as I run the first incremental synthesis on the mapped netlist.

Any ideas as to why the RTL to final netlist comparison are showing non-equivalencies?

Conformal ECO - Equivalanece check

$
0
0

I find difficulty doing equivalanece, after conformal ECO flow, due to unmapped points. Is there way, the Conformal ECO dumps svf file, which can be fed to  equivalence check tool?

 

 

clock gating in RC

$
0
0

Hello.

What is the right way to insert clock gating in RC script?

How should i translate the following instructions form DC for RC ?

(DC) --> 

set_clock_gating_style -sequential_cell latch \

  -negative_edge_logic $CELL_NAME \

  -positive_edge_logic $CELL_NAME \

  -max_fanout 16 \

  -minimum_bitwidth 4 \

  -control_point before \

  -control_signal scan_enable

---------------------------------------------------------------------------------------------------------

(RC) -->

define_dft shift_enable -name scan_enable -active high $CELL_NAME1

define_dft shift_enable -name scan_enable -active low $CELL_NAME2

set_attr lp_insert_clock_gating true

set_attr lp_clock_gating_min_flops 4 [find/design -design $DESIGN]

set_attr lp_clock_gating_style latch [find/design -design $DESIGN]

set_attr lp_clock_gating_control_point precontrol [find/designs -design $DESIGN]

set_attr lp_clock_gating_test_signal scan_enable $DESIGN

 ---------------------------------------------------------------------------------------------------------

 Is it enough or there is something else needed?

 

 

conformal LEC

$
0
0

Can anyone tell why this is happening

"Inserted DC(s) due to DFF clock/data interaction" and will it cause any false non -equivalency? 

 

 


how to synthesize delay elements in RTL complier

$
0
0

hi there,i am new to RTL compiler. I have delay element to synthesize in which the  input is assigned to output after some delay  .The state ment  i used shown below.

assign #5 out=in;

But when i am synthesizing in RTL the delay is ignored. So are there any attributes i have to add to synthesis delays in RTL compiler? if not is there any other way to make delay elements? . I would be greatful to if you include sample code or snippet. Thanks in advance.  

How to simulate after synthesis in NC launch or NC sim

$
0
0
Hi there  , If we simulate before synthesis with RTL verilog files ,the output of my design is instataneous . But  i want to simulate it after synthesis to know exact delay incurring between the input  and output . How can i do post synthesis simulation with test bench in NC launch or NC sim.Thanks in advance. 

Unsupported SDC Commands(remove_attribute) in RC

$
0
0

Hello.

What is the right way to insert 'remove_attribute' in RC script?

I know that this scirpt is one in  one of the unsupported SDC commnads.

How should i translate this instruction form DC for RC ?

I guess...

   get_attribute timing_case_disabled_arcs_by_mode instance_name     or

   get_attribute disabled_arcs_by_mode nand_inst {/design/top/~~~~}

Is it enough or there is something else needed?

 

 

Avoid race condition at SPI_slave synthesis

$
0
0

Hello.

I'm trying to synthesis SPI core, but in the simulation occurs race conditions between signals SPI_CLK and system clock (clk) in "always" block:

always @(posedge clk)

spi_clk_r <= spi_clk;

 

How to avoid race condition in this case? 

thanks 

 

How to force a small gate structure during RTL Compiler synthesis?

$
0
0

 In my verilog code, I have XOR1 gate (in0, in1, out). Port "out" connects to the "D" input of a DFF. A code sample is below:

assign out = in0 ^ in1;
dff dff_0(.CLK(CLK), .in(out), .out(q));
..................
module dff(CLK, in, out);
    input CLK;
    input [127:0] in;
    output reg [127:0] out;

    always@(posedge CLK)
        out <= in;

endmodule

However, after synthesis one additional XOR2 gate is inserted between XOR1 and DFF, i.e., "out" connects to one input of XOR2 and the output of XOR2 connects to "D" input of the DFF. I understand that the tool is doing some optimization related to my other logic. But how can I enforce the gate sequence in my verilog code in this specific case? (XOR1 connect to DFF directly) I am fine with restructuring the code.

BTW: I do not use any timing constraints.

Viewing all 350 articles
Browse latest View live