Answers Database


SYNPLIFY: How to change the output slew rate using the xc_fast attribute?


Record #2185

Product Family: Software

Product Line: Synplicity

Product Part: Synplify

Product Version: 5.0

Problem Title:
SYNPLIFY: How to change the output slew rate using the xc_fast attribute?


Problem Description:
Urgency: Standard

General Description:
How to change the output slew rate using the xc_fast attribute?

The slew rate of each output buffer is, by default, reduced, to
minimize power bus transients when switching non-critical signals.
For critical signals, attach the FAST property to output primitives,
output pads, bidirectional pads in the UCF file. Or, through Synplify,
apply the xc_fast in the HDL or the SDC file.

Use this attribute to decrease the transition time for the output driver
and increase the noise in the system. Synplify provides certain
attributes that get passed into the implementation netlist for Xilinx
place and route that affect the input setup times and output transition
times for your I/Os.


Solution 1:

-- VHDL

library IEEE;
use IEEE.std_logic_1164.all;
library synplify;
use synplify.attributes.all;

entity fast_ex is
port (CLK : in STD_LOGIC;
       D_IN : in STD_LOGIC_VECTOR (3 downto 0);
       Q_OUT : out STD_LOGIC_VECTOR (3 downto 0));
attribute xc_fast of Q_OUT : signal is true;
end fast_ex;

architecture XILINX of fast_ex is

begin

-- D flip-flop
process(CLK)
begin
   if rising_edge(CLK) then
     Q_OUT <= D_IN;
   end if;
end process;

end XILINX;



Solution 2:

// Verilog

module fast_ex (CLK, D_IN, Q_OUT);
input CLK;
input [3:0] D_IN;
output [3:0] Q_OUT /* synthesis xc_fast=1 */;

reg [3:0] Q_OUT;

// D flip-flop
always @(posedge CLK)
   Q_OUT <= D_IN;

endmodule



Solution 3:

# SDC

define_attribute <output_port_name> xc_fast 1





End of Record #2185 - Last Modified: 07/15/99 11:22

For the latest news, design tips, and patch information on the Xilinx design environment, check out the Technical Tips!