Altera_Forum
Honored Contributor
9 years agoQuestion about set_false_path statements.
Hello!
I'm trying to constrain a module but I'm not sure if the sdc statement I'm using has any undesired consequences. Specifically, I have a reset synchronizer I use all the time to synchronize an asynchronous reset deassertion to a clock so I want to embed the sdc statement in the vhdl source code, otherwise people tend to forget to constrain it and violations appear everywhere. I use the following piece of code for that, it's as simple as you get but it helps to show my problem:
process (reset, clock)
begin
if (reset = '1') then
sync <= '1';
sync_rst <= '1';
elsif (rising_edge(clock)) then
sync <= '0';
sync_rst <= sync;
end if;
end process;
The sdc statement I'm embedding in the code is the following (entity's name is rst_sync):
set_false_path -to
set_false_path -to
Now, I'm not sure whether the -to ...sync_rst command also cuts the path in the sync_rst <= sync assignment, that would certainly not be what I want. I only want to remove the paths from the reset to the sync and sync_rst signals, however, I can't include the -from option in the sdc statements because the path to those is unknown to me. I've also looked at the Quartus Handbook and it says to use the
attribute altera_attribute: string;
attribute altera_attribute of sync: signal is "-name CUT ON -from reset";
attribute, but this doesn't seem to work or do anything though, does it work for the TimeQuest analyzer or is it only for the older time analyzer? I'd appreciate it if someone could help me out with this! Regards, Sebastian.