Altera_Forum
Honored Contributor
11 years agoALTASMI_PARALLEL Timequest Constraints
I'm using the ALTASMI_PARALLEL megafunction in a Cyclone III design and would like to know if anyone has SDC constraints for the DCLK, SDO, SCE outputs and DATA0 input. I've had a go myself, but being new to Timequest am struggling to write them. Here's what I've got so far (which may be way off track!):
# ALTASMI_PARALLEL.# Create clock for ALTASMI_PARALLEL constraints.
create_generated_clock
-name asmi_dclk
-source }]
# ALTASMI_PARALLEL input constraints.
set asmi_inputs
set_input_delay -clock asmi_dclk -clock_fall -min 0 $asmi_inputs
set_input_delay -clock asmi_dclk -clock_fall -max 0 $asmi_inputs
# ALTASMI_PARALLEL output constraints.
set asmi_outputs
set_output_delay -clock asmi_dclk -min 0 $asmi_outputs
set_output_delay -clock asmi_dclk -max 0 $asmi_outputs
For anyone who is not familiar with this interface, it is basically a simple SPI master. In my design DCLK is 16MHz and fed directly from a PLL output. The megafunction keeps DCLK running all the time. The master (FPGA) launches and latches data on falling edges of the clock feeding DCLK. The slave (configuration device) launches data on the falling edge of DCLK and latches data on the rising edge. Timequest reports that DCLK is unconstrained. Given that (I think) it is a generated clock, how can it be constrained? The waveforms for setup look about right, but those for hold have the data being launched on rising rather than falling edges. Any help clearing up my confusion would be much appreciated.