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.

[SOLVED] Is there any way to define some synthesizable thing, solely for simulation in VHDL

Status
Not open for further replies.

syedshan

Advanced Member level 1
Advanced Member level 1
Joined
Feb 27, 2012
Messages
463
Helped
27
Reputation
54
Reaction score
26
Trophy points
1,308
Location
Jeonju, South Korea
Visit site
Activity points
5,134
Hi

As the name suggest.
I have introduced some testing signals in my design. But I intend them only for simulation.
For example there are around 20 signals of type bit array and they help in debugging, but I do not need them to be synthesized since they might take space or may also affect the clock somewhat..

Is there any way to define them only as non-syntheziable thing.

Thanks
 

It's usually done with synthesis translate_off and translate_on directives, check your tools manual.
 
if they are not connected to any outputs, they shouldnt cause a problem as they will be synthesised away, unless they are completly unsynthesisable. Still, the translate_on/off helps other engineers out too..
 

if they are not connected to any outputs, they shouldnt cause a problem as they will be synthesised away, unless they are completly unsynthesisable. Still, the translate_on/off helps other engineers out too..

Hi!!

Is this some sort of riddle, since I cannot get it :)
can you explain a little
 

if you wrote this

Code:
signal some_reg :  std_logic;

...inside clocked process
some_reg <= input;

and some_reg was not connected to the output in any way, the synthesisor will just remove it. You can use attributes to keep it, which can be handy for debug signals in chipscope/signaltap

but if you write this

Code:
process(a,b,c)
begin
wait until rising_edge(a);
echo("THis is a debug");

wait until falling_edge(b);
some_sig <= input;

wait on c;
end process

You would need to wrap --synthesis translate_off/on around it, because the synth would choke on it.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top