I'm fairly new at FPGA code and am trying to develop Verilog code for a Basys 3 board using Vivado. For several days I have struggled with getting the 'create_generated_clock' command to work. I have a large program but reduced it to a simple divider and want to declare the Q output of a DFF as a generated clock. The program passes behavioral sim with a test bench as well as synthesis and implementation with no errors. A warning in the Report Methodology reports 'TIMING #1 Critical Warning The clock pin Led_reg.C is not reached by a timing clock'
The ultimate source is the CLK100MHZ coming in on an external pin.
Do I have an error in my command for create_generated_clock?
My intent was to specify Q_out as the generated clock and CLK100MHZ as the source, but I have some confusion in using Vivado to identify the net, source, or port to use in the command.
Using the TCL command report_clocks shows only the 100MHZ clock;
Question
btremaine
I'm fairly new at FPGA code and am trying to develop Verilog code for a Basys 3 board using Vivado. For several days I have struggled with getting the 'create_generated_clock' command to work. I have a large program but reduced it to a simple divider and want to declare the Q output of a DFF as a generated clock. The program passes behavioral sim with a test bench as well as synthesis and implementation with no errors. A warning in the Report Methodology reports 'TIMING #1 Critical Warning The clock pin Led_reg.C is not reached by a timing clock'
The clock commands I have in my XDC file are:
create_clock -period 10.000 -name sys_clk -waveform {0.000 5.000} -add [get_ports CLK100MHZ]
create_generated_clock -name Q_out -source (get_pins Q_out_reg/C ) \
-divide_by 8 (get_pins Q_out_reg/Q )
The ultimate source is the CLK100MHZ coming in on an external pin.
Do I have an error in my command for create_generated_clock?
My intent was to specify Q_out as the generated clock and CLK100MHZ as the source, but I have some confusion in using Vivado to identify the net, source, or port to use in the command.
Using the TCL command report_clocks shows only the 100MHZ clock;
Clock Period(ns) Waveform(ns) Attributes Sources
sys_clk 10.000 {0.000 5.000} P {CLK100MHZ}
Link to comment
Share on other sites
5 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now