Altera_Forum
Honored Contributor
14 years agoquartus II timing analyzer ignoring neg edge clk?
Tool is complaining about path from falling edge clock to rising edge, 25mhz, MAXII cpld. i would rather not ignore warning, how do i help timing analyzer understand, or me understand why it isn't happy:
the divided down clk, clk2048, only changes on rising edge clk_cpld, so there really is a clk low time for this path. Minimum Slack From To From Clock To Clock Required Hold Relationship Required Shortest P2P Time Actual Shortest P2P Time -1.674 ns clk_8192000_countNEG[7] i_dac_csn CLK_CPLD CLK_CPLD 0.000 ns 2.604 ns 0.930 ns ------------------------------------------- process (clk_cpld) begin if (falling_edge (clk_cpld)) then clk_8192000_countNEG <= clk_8192000_count; end if; end process; ----------------------------------------------------- DAC_CSn_gen : process (clk_2048, RESET_F) begin if (RESET_F = '0') then i_dac_csn <= '1'; elsif (clk_2048'event and clk_2048 = '0') then -- fall clk if ( (clk_8192000_countNEG >19) and (clk_8192000_countNEG <115)) then i_dac_csn <= '0'; else i_dac_csn <= '1'; end if; end if; end process DAC_CSn_gen; ------------------------------------------------------- clk_2048 <= clk_div_counter(1); -- 2.048 MHz ------------------------------------------------------ CLK_DIV : process (CLK_CPLD, RESET_F) begin -- process CLK_DIV if RESET_F = '0' then -- asynchronous reset (active low) clk_div_counter <= (others => '0'); elsif CLK_CPLD'event and CLK_CPLD = '1' then -- rising clock edge clk_div_counter <= clk_div_counter + "00000001"; end if; end process CLK_DIV;