How to set input delay and output delay when source Synchronous

ClkIN is the board clock which is connected to the FPGA. Clkif is the generated clock from ClkIN. The Device's clk come from Clkif. So, how to set input delay and output delay in this scene(within my understand, this is Source Synchronous)?
The example in many document, the input delay and output delay setting all refer to board clock(within my understand, this is System Synchronous). In that scene, the input delay max = TDelay_max + Tco_max; input delay min = Tdelay_min + Tco_min; the output delay max = Tdelay_max + Tsu; output delay min = Tdelay_min - Th.
So, I want to know how to set input/output delay in the Source Synchronous.
In system synchronous, I set input/output delay such as:
create_clock -period 20.000 -name ClkIN -waveform {0.000 10.000} [get_ports ClkIN]
create_generated_clock -name Clkif -source [get_pins cfg_if/clk_tmp_reg/C] -divide_by 2 [get_pins cfg_if/clk_tmp_reg/Q]
create_clock -period 40.000 -name VIRTUAL_clkif //make virtual clock
set_input_delay -clock [get_clocks VIRTUAL_clkif] -min 0.530 [get_ports DIN]
set_input_delay -clock [get_clocks VIRTUAL_clkif] -max 7.700 [get_ports DIN]
set_output_delay -clock [get_clocks VIRTUAL_clkif] -min -0.030 [get_ports DOUT]
set_output_delay -clock [get_clocks VIRTUAL_clkif] -max 1.800 [get_ports DOUT]
*******************************************************************************************

So, first. Architecturally, the clock that you forward to your external device should not come directly from the clock tree, but should be output via an ODDR with its D1 input tied to logic 1 and the D2 tied to logic 0. This guarantees minimal skew between the output data and the forwarded clock.
ODDR #(
.DDR_CLK_EDGE("OPPOSITE_EDGE"), // "OPPOSITE_EDGE" or "SAME_EDGE"
.INIT(1'b0), // Initial value of Q: 1'b0 or 1'b1
.SRTYPE("SYNC") // Set/Reset type: "SYNC" or "ASYNC"
) ODDR_inst (
.Q (Clkif_ff), // 1-bit DDR output
.C (ClkIN_BUFG), // 1-bit clock input
.CE (1'b1), // 1-bit clock enable input
.D1 (1'b1), // 1-bit data input (positive edge)
.D2 (1'b0), // 1-bit data input (negative edge)
.R (rst), // 1-bit reset
.S (1'b0) // 1-bit set
OBUF OBUF_inst (.I (Clkif_ff), .O (Clkif_out));
This generates an output clock that is the same frequency as your input clock. This is consistent with your drawing, but inconsistent with your constraints - is the forwarded clock a 50MHz clock or a 25MHz clock?
I will assume your ClkIN goes to a BUFG and generates ClkIN_BUFG.  Your first constraint generates a 50MHz clock on the ClkIN port which will propagate through the BUFG to (among other places) this ODDR.
create_clock -period 20.000 -name ClkIN -waveform {0.000 10.000} [get_ports ClkIN]
Assuming your forwarded clock is supposed to be 50MHz, then your 2nd command is close to correct
create_generated_clock -name Clkif -source [get_pins cfg_if/ODDR_inst/C] -combinational  [get_pins cfg_if/ODDR_inst/Q]
With this done, you have successfully described the forwarded clock from your design. This is the clock that goes to your device, and hence should be the clock which is used to specify your input and output constraints.
set_input_delay -clock [get_clocks Clkif] -min 0.530 [get_ports DIN]
set_input_delay -clock [get_clocks Clkif] -max 7.700 [get_ports DIN]
set_output_delay -clock [get_clocks Clkif] -min -0.030 [get_ports DOUT]
set_output_delay -clock [get_clocks Clkif] -max 1.800 [get_ports DOUT]
If you want to get fancier, you could try adding a set_clock_latency to the forwarded clock to account for the board propagation of the clock
set_clock_latency -source TDtrace2 [get_clocks Clkif]
(But I haven't experimented with clock latency on a generated clock and I don't know for a fact that it works).
Avrum

Similar Messages

  • Inputting from and Outputting to Excel Spreadsheets (.xls): How is it done?

    Is it possible to input from and output to .xls files in a Java program?
    If so, can you point me in the right direction/show me how?

    AlphaBlue wrote:
    jverd wrote:
    What were you hoping for? Someone reading your mind for what exactly you need, and handing you a giftwrapped answer, without you doing any work or clearly communicating a specific problem? This site doesn't really work that way.Fair enough. I'm asking for insight into how to input from and output to a StarOffice Spreadsheet into/from a Java program. (Think java.io except with spreadsheet files instead of .txt files.) I already answered that question.
    I need to accomplish this without the use of a community-created library.That's a bizarre requriement. Why?
    >
    Okay, [here you go|http://lmgtfy.com/?q=communication+between+StarOffice+Spreadsheets+and+Java].
    If you don't have any knowledge or experience, on the matter, please refrain from directing me to a google search. I assure you, I have already performed such a task.How would I know that.
    But okay, let's say I know that. Let's say you bothered to point out that you've already done that. Further, let's say I do have knowledge of the subject at hand. Maybe I'm an expert. Maybe I wrote Star Office and an open source library (which wheel for some reason you must reinvent). You are assuming that I also have psychic powers, so that I can read your mind and know exactly what you've read so far and exactly what parts of your very broad and vague question said reading did not answer.
    In short, you have received answers commensurate with your questions.

  • How to set the gain and input coupling for each channel on a NI 4462 DaQ card?

    I've seen a few examples in how to set the gain for NI 4462, but none tell me how to chose the channel I wish to set this gain.  Also the same problem with input coupling
    Does anyone know how to set the gain and input coupling for each individual channel?
    Thanks,
    Hector
    LabView 8.5 Windows XP

    Hey Hector,
    http://forums.ni.com/ni/board/message?board.id=100&thread.id=1688
    This has a few examples of how to do that.  Let me know if you have further questions.
    Have fun!
    -gaving

  • Separate thread for input stream and output stream.

    Hi Techies,
    In a socket connection, can we run the input stream and output stream in separate threads. actually in my case, the input stream will be getting the input regularly and output stream will send data very rare. so if i impelment them in one class then unless there is data to send output stream will be blocked. i was thinking to impelment both the streams in separate threads. is it a good way? so how to implement it. your guidance will be of great help.
    thanks in advance.

    JavaBreather wrote:
    Hi Techies,
    In a socket connection, can we run the input stream and output stream in separate threads.I would say this is the most common way of handling sockets and threads. esp pre-NIO.
    Iis it a good way? so how to implement it. your guidance will be of great help.Once you have a socket, create two threads, one which does the reading and one which does the writing.
    You could use BlockingQueues to abstract access to these threads. i.e. the reading thread reads something from the socket and adds it to the BlockingQueue. The writing thread take()s something froma second BlockingQueue and writes it to the Socket. This way you add things to write or get thing to process by looking at the BlockingQueues.

  • How to set input range to 100mv

    I use AI_configure(....) to set input range.And i want to set input range to 100 mv .How should i do.
    Please tell me..........my DAQ is PCI MIO 16E-4

    You will need to set the gain of each channel using the AI_Read function. The input range parameter of AI-Configure is acutually ignored for E Series devices. The polarity parameter will allow you to set the range to unipolar (0 to 10 V) or bipolar (-5 to +5).
    You use the gain parameter of the AI_Read to futher specify the input range. The valid gain settings for the 16E-4 can be found on page A-2 of the appendix in the user manual linked below. For a +/- 100 mV range you would set the polarity of AI_Configure to bipolar and the gain parameter to 50 of the AI_Read. I hope this helps.
    PCI E Series User Manual
    http://digital.ni.com/manuals.nsf/webAdvsearch/06F1C9FB0D0BA5C286256C010057461B?OpenDocument&vid=niwc&node=132100_US
    Regards,
    Todd D.

  • Payroll Log - input,processing and output

    ALL
    i have a doubt here and i hope it would be cleared in this forum.
    how does values comes in Input, Processing and output in payroll log.... for ex: sap provides detailed explanation in processing step.... where does this stored.... how it is appearing in payroll log.... plz. help to understand this.... Thank you all for your continuous contribution to this forum

    Hi,
    I think you are talking about the log that is getting after executing the Payroll.
    If so, as an example, kindly goto Factoring and storage and double click on X023 (Gross input and storage).
    Here, you can see the Input Table, Processing and Output Table.
    If I am not wrong you are talking about the Processing that is displayed here.
    If yes, Open the Schema through TCode PE01 and double click the Subschema for Period factoring and storage (INAL is the standard one. But if some 'Z' has been used instead of INAL double click that one). Here you can see  X023 (Gross input and storage). Double click X023 and you can see Rule according to which the Processing is happening.
    Thanks and Regards
    Kiran

  • Input Tax and Output Tax calculating wrong figures

    Hi,
    I have created Input Tax and Output Tax codes in SAP.
    Input Tax- 3%
    Output Tax- 4%
    All the configuration is done as required. But when I am posting the Purchase and Sales Invoice, the tax amount is not calculating correctly.
    For example:
    Input Tax Calculation should be:
    Vendor A/C.............. Cr 30000-
    Expense A/C............ Dr 29100
    Input Tax A/C............ Dr 900 (@3% on 30000)
    Input Tax Calculation in SAP:
    Vendor A/C.............. Cr 30000-
    Expense A/C............ Dr 29126.21
    Input Tax A/C............ Dr 873.79 (@3% on 30000)
    The same is happening to Output Tax transactions.
    Please advice.

    My understanding about the Input Tax and Output Tax was wrong. In the issue reported
    Input Tax Calculation should be:
    Vendor A/C.............. Cr 30000-
    Expense A/C............ Dr 29100
    Input Tax A/C............ Dr 900 (@3% on 30000)---my understanding was wrong.
    Input Tax 3% should be charged on Expense amount, in this case Rs 30000. But because in the editing option calculate tax on net amount option was not selected, hence SAP was giving the below entry, which is correct as well.
    Vendor A/C.............. Cr 30000-
    Expense A/C............ Dr 29126.21
    Input Tax A/C............ Dr 873.79 (@3% on 29126.21) which is correct.
    Hence, the Vendor amount should be Expense + Input Tax= 30000 * 3%=900 + 30000 (expense) = 30900.
    Correct Entry should be:
    Vendor A/C...............Cr 30900
    Expense A/C............Dr 30000
    Input Tax A/C............Dr 900
    Resolved. Pankaj has given the correct answer.

  • How to set multiple ORACLE_HOME and ORACLE_SID, on Windows

    How to set multiple ORACLE_HOME and ORACLE_SID, on Windows.
    I have 5 oracle instances. Every time if i want to start up the services , I am manually setting the environment variable (ORACLE_HOME and ORACLE_SID) and starting the services one at a time.
    Can we set multiple ORACLE_HOME and ORACLE_SID in Start->My computer-> properties-> advance-> Environment variable.
    Thanks
    Naveen

    Hi ,
    Can you please give me the link, for the doc you are referring to
    Thanks
    Naveen

  • How to set input "Description" to mandatory?

    Hi all,
    How to set input "description", from infrastructure blueprint request form, to mandatory?
    Thanks in advance.

    Hi all,
    How to set input "description", from infrastructure blueprint request form, to mandatory?
    Thanks in advance.

  • How to set the IP and MAC address in C program?

    My working environment is Sun250 Server, Solaris 7 operating system. I encountered a problem ---- How to set the IP and MAC address in C program to make the system change it IP & MAC at runtime?
    Any idea is welcome! Thanks!

    Hi
    As a simplest possible solution, you can use the system command
    to run ifconfig that can set both the mac address and the IP address of the system. You will have to use setuid though.
    Or you can use the DLPI calls ( do a man DLPI or search for a
    Sun documentation on the same at http://soldc.sun.com) to write
    a pure C program.
    HTH
    Shridhar

  • How to set default currency and Country in R12 financial modules

    Hi all,
    How to set default currency and Country in R12 financial modules (AR,AP,GL,FA,CE) becuase I found some default settings are shown "USD" & "United States" such as create AR Customer, the Country is shown the default "United States"....
    Can anybody advise ?
    Thanks & Regards,

    Hi,
    Change the below profile for the user to a territory different than the US :
    In System Administrator, navigate to Profiles -> System.
    Select Site, Application, and Responsibility.
    Profile options:
    Default Country
    HZ: Reference Territory
    ICX: Territory
    Regards,
    Raju.

  • How to set the WIDTH and ALIGN of h:column in h:dataTable ??

    How to set the WIDTH and ALIGN of <h:column> in <h:dataTable>??
    Thanks a lot!

    Hi,thanks to your reply.
    Now I find a more convenient appraoch to set column's width and align respectively:
    <h:dataTable ...>
    <h:column>
    <f:facet name='header'>
    </f:facet>
    <h:outputText style="width:80px; text-align: right;" value='#{row.fieldA}'/>
    </h:column>
    <h:column>
    <f:facet name='header'>
    </f:facet>
    <h:outputText style="width:120px; text-align: left;" value='#{row.fieldB}'/>
    </h:column>
    </h:dataTable>
    It works fine.
    ^-^

  • How to set the router and play the Command & Conquer using direct IP mode?

    My router is WRT54GFirmware Version: v3.03.1
    How to set the router and play the Command & Conquer using direct IP mode with other computer?

    Hi, when you say direct IP mode, what do you mean ? do you wanna play the game online or on the LAN ??
    can you give a few more details.

  • How to set the Mail and Fax options  for the Smartforms ???

    How to set the Mail and Fax options  for the Smartforms ??? Please reply me very soon. Its a life deciding question now for me. Please .

    >
    veera Karthik wrote:
    > How to set the Mail and Fax options  for the Smartforms ??? Please reply me very soon. Its a life deciding question now for me. Please .
    Hi
    Check this Link:
    http://help.sap.com/saphelp_nw04/helpdata/en/a5/28d3b9d26211d4b646006094192fe3/frameset.htm
    P.S: Never say reply me soon....people answer you here voluntarily and as everyone has their own desk to manage...sp replies may late or early..depending upon the availabality of the members.
    Vishwa.

  • How to fix keyboard clicks and lock sounds when they are on in setting , sounds and still do not work?

    How to fix keyboard clicks and lock sounds when they are on in setting , sounds and still do not work?

    Double-click the Home button and swipe the Task Bar to the right. Check Volume and Mute Settings.
    Message was edited by: Diavonex

Maybe you are looking for

  • Is there a way to ONLY have the videos download on my iPad shown

    Since I updated my phone and iPad to iOS7 when I got to videos, instead of showing me just what I have downloaded on my device, it shows everything I have on my iTunes account, I HATE that. It is really annoying because I can't remember what I have o

  • Help me about LiveCycle Data Services

    Hi all,    I use Flex 3 and BlazeDS server to write my web app. Today, I want use LiveCycle Data Services ES. I have done some steps bellow and I need some guides continue from anyone.    1. Download the LiveCycle Data Services ES from adobe home pag

  • Background Process doesn't work

    Hi Everybody, i want to change some data on a database table through a background process but the data will not be changed: I am working on IDES ECC 6.0 (2005)                 CALL FUNCTION 'MY_BACKGROUNDD_PROCESS'                   IN BACKGROUND TAS

  • Logic randomly playing midi notes.  How do I turn it off?

    When i solo a track logic triggers a midi note. same with mute and selecting and pretty much every button and menu in logic triggers a midi note or CC. What is going on here? My midi keyboard keeps playing notes cuz logic keep triggering them. Solo p

  • There's Video but no sound!

    So i have some Tv show on my MacBook, and when i go to watch them there is video but no sound. Quicktime prompts me that i need to download a codec but not which one. Which onw do i need?