Clock sampling with unisim FDCPE (virtex5)

Discussion in 'VHDL' started by eko, Sep 17, 2008.

  1. eko

    eko

    Joined:
    Apr 16, 2008
    Messages:
    12
    Hi everybody,

    following an application note from Xilinx I implemented a quad-port ram. Now when I simulated this with modelsim I recognized that the FDCPEs do not propagate what they should. Basically those are used to sample the (inverted) normal clock by a clock with doubled speed.
    Relevant code snippets:
    Code:
    
    ...
    
    COMPONENT FDCPE
       GENERIC (
          INIT : bit
       );
       PORT (
          C   : IN     std_ulogic;
          CE  : IN     std_ulogic;
          CLR : IN     std_ulogic;
          D   : IN     std_ulogic;
          PRE : IN     std_ulogic;
          Q   : OUT    std_ulogic
       );
       END COMPONENT;
    
       -- Optional embedded configurations
       -- pragma synthesis_off
       FOR ALL : FDCPE USE ENTITY unisim.FDCPE;
       -- pragma synthesis_on
    
    BEGIN
    
       low <= '0';
       high <= '1';
    
    i_clkbd_lacff : FDCPE
          GENERIC MAP (
             INIT => '0'
          )
          PORT MAP (
             Q   => clkbd_lac,
             C   => clkbdx2,
             CE  => high,
             CLR => rst,
             D   => notclkbd,
             PRE => low
          );
    
    ...
    
    
    Whereby clkbdx2 is twice clock clkbd, doubled with an DCM.
    notclkbd is simply the inverted clkbd.
    rst is reset (checked already - is active as it should be).
    Both clocks are routed via an bufg after the dcm.

    clkbd_lac (what is the output of the FDCPE) is set to one after the reset and stays high all the time. Although I see the input toggeling.

    All i/o signals are std_logic.

    Simulating with 100fs time resolution.

    Is there any known reason why this could be?

    Thanx,

    wondering,

    e.
    eko, Sep 17, 2008
    #1
    1. Advertising

  2. eko

    eko

    Joined:
    Apr 16, 2008
    Messages:
    12
    Well, I now solved this by adding an "after 1 ps" to the clock inverter. Although thats all fine with me, I still wonder why Modelsim could not take it without that. I thought the inverter should have told it that there is some delay, that makes a sampling of the clock by another clock possible...
    eko, Sep 17, 2008
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Stephen Lohning
    Replies:
    1
    Views:
    1,013
    Barry Brown
    Sep 8, 2003
  2. =?ISO-8859-1?B?pNGkVbLEpECyVg==?=

    What are UNISIM/XilinxCoreLib/SIMPRIM and for what they are?

    =?ISO-8859-1?B?pNGkVbLEpECyVg==?=, Sep 26, 2003, in forum: VHDL
    Replies:
    1
    Views:
    3,125
    David Bishop
    Oct 4, 2003
  3. Pasacco
    Replies:
    0
    Views:
    797
    Pasacco
    Jun 8, 2005
  4. bs.addr@googlemail.com

    The corresponding Actel library of the Xilinx UNISIM

    bs.addr@googlemail.com, Jun 8, 2006, in forum: VHDL
    Replies:
    3
    Views:
    2,286
    Thomas Stanka
    Jun 9, 2006
  5. rman1234

    Sampling faster than the clock

    rman1234, Mar 31, 2010, in forum: VHDL
    Replies:
    5
    Views:
    879
    rman1234
    Apr 9, 2010
Loading...

Share This Page