Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
공지
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

A Question About Constraints

Altera_Forum
명예로운 기여자 II
1,134 조회수

I understand the clock constraining. 

 

But what about the non-clock signals. 

For example, I have a small VHDL design (1 file) that has a several clocks, 

a reset, and some LED output signals. The constraint file was generated by 

the Terasic people that made the board. When synthesized the results show 

the design is NOT constrained. When you look at the constraint file 

the reset and LED signals are not in there. When running the Timing Analyzer 

it shows the reset and LEDs as unconstrained. 

 

What do you do with them? What constraint, if any do you use? There's very 

little literature about this at least I can't find any. 

 

In the past I have usually had them as Set Input Delay constrained to the period 

of the clock. Probably has no affect. 

 

Thanks 

PWS
0 포인트
3 응답
Altera_Forum
명예로운 기여자 II
478 조회수

You can use the following ... basically you cut the timing paths to tell TimeQuest not to analyze them. The cutting of the reset path assumes you have reset synchronizers in your logic (read about reset synchronization in the Quartus handbook). The JTAG paths appear when you use SignalTap II or use the JTAG-to-Avalon-MM bridge. 

 

# -----------------------------------------------------------------# Clock# -----------------------------------------------------------------# # 50MHz clock set clk_period 50MHz # External 50MHz clock (internal logic clock) set clk clkin_50MHz create_clock -period $clk_period -name $clk # Exclusive clock domain/group set_clock_groups -exclusive -group # Derive the clock uncertainty parameter derive_clock_uncertainty # -----------------------------------------------------------------# JTAG# -----------------------------------------------------------------# set ports if { == 1} { # JTAG must be in use # # Exclusive clock domain set_clock_groups -exclusive -group altera_reserved_tck # Altera JTAG signal names set tck altera_reserved_tck set tms altera_reserved_tms set tdi altera_reserved_tdi set tdo altera_reserved_tdo # Cut all JTAG timing paths set_false_path -from * -to set_false_path -from -to * set_false_path -from -to * } # -----------------------------------------------------------------# Cut timing paths# -----------------------------------------------------------------# # The timing for the I/Os in this design is arbitrary, so cut all# paths to the I/Os, even the ones that are used in the design,# i.e., reset and the LEDs.# # External asynchronous reset and push-buttons set_false_path -from }] -to * # LED output path set_false_path -from * -to }]  

 

Cheers, 

Dave
0 포인트
Altera_Forum
명예로운 기여자 II
478 조회수

Try to think of it as a design question and not a constraint question. Does XYZ need to occur in a certain amount of time or it won't work. If so, what is that time? 

For LEDs, it shouldn't matter. If it takes 5ns or 50ns to get to them, no one will notice, so leave unconstrained. 

For the reset, it depends. If it's coming in off chip and from an asynchronous source(say a pushbutton), then there is no way to constrain that because the source is not synchronous to the destination. Lots of users synchronize a signal like that(have it feed 2-3 registers) and then have the output of the last register drive your logic. That can be constrained and will be just by the nature of your clock constraints.
0 포인트
Altera_Forum
명예로운 기여자 II
478 조회수

Thanks to both of you. Very helpful.  

Yes, I have a SignalTap. That thing caused cause 50 or more JTAG signals to appear from nowhere!
0 포인트
응답