Skip to content

Commit ced2df1

Browse files
committed
Add false path for async FIFO implementation in distributed RAM
1 parent 75d9154 commit ced2df1

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

syn/axis_async_fifo.tcl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,13 @@ foreach fifo_inst [get_cells -hier -filter {(ORIG_REF_NAME == axis_async_fifo ||
5858
set_max_delay -from [get_cells -quiet "$fifo_inst/wr_ptr_reg_reg[*] $fifo_inst/wr_ptr_gray_reg_reg[*] $fifo_inst/wr_ptr_sync_gray_reg_reg[*]"] -to [get_cells $fifo_inst/wr_ptr_gray_sync1_reg_reg[*]] -datapath_only $write_clk_period
5959
set_bus_skew -from [get_cells -quiet "$fifo_inst/wr_ptr_reg_reg[*] $fifo_inst/wr_ptr_gray_reg_reg[*] $fifo_inst/wr_ptr_sync_gray_reg_reg[*]"] -to [get_cells $fifo_inst/wr_ptr_gray_sync1_reg_reg[*]] $read_clk_period
6060

61+
# output register (needed for distributed RAM sync write/async read)
62+
set output_reg_ffs [get_cells -quiet "$fifo_inst/mem_read_data_reg_reg[*]"]
63+
64+
if {[llength $output_reg_ffs]} {
65+
set_false_path -from $write_clk -to $output_reg_ffs
66+
}
67+
6168
# frame FIFO pointer update synchronization
6269
set update_ffs [get_cells -quiet -hier -regexp ".*/wr_ptr_update(_ack)?_sync\[123\]_reg_reg" -filter "PARENT == $fifo_inst"]
6370

0 commit comments

Comments
 (0)