Forum Discussion
Altera_Forum
Honored Contributor
9 years agoHi Rookie2017,
--- Quote Start --- Just about the terms: Here you speak of the launch clock. Wouldn't this rather be the latch/capture clock? And the launch clock would be the input clock of the output register inside the FPGA? --- Quote End --- In the timing constraints you constrain the signals entering/leaving the FPGA. The FPGA has two pins that reach the SDRAM in this example: a clock leaves the FPGA through an I/O pin, and a data signal leaves the FPGA through another I/O pin. These I/O pins act as outputs, so they only have a launch clock. Latching is done in the SDRAM, which not concerned by the timing constraints. Think about it this way: the job of timing constraints is to say "dear FPGA, if you guarantee that these constraints are met, my external circuitry will work". So you have to view the problem from the other end: you want to guarantee the timing at the latching side, but you cannot, so you calculate backwards through the traces, and define how the launching side (the FPGA) must look like. --- Quote Start --- So we agree that in this case the data have to be stable at the output of the fpga at least "set_up_time" before the latch/capture(in my terms) clock rises at the output of the FPGA. So why we talk about a delay equal to the setup_time? Why they don't call it an earliness or something like that? Since the Output has to be ready a specific time before the clock edge. --- Quote End --- I totally agree that "maximum output delay" is a very non-intuitive name. However, I cannot tell you why it has this name. I guess they wanted to have an abstract name that does not imply any setup time and such, so that it's technology-agnostic. Another possibility: I mentioned earlier that I see this constraint as a required time, which defines the time window in which the FPGA's output signal must not change. Judging from other literature, this is a rather odd view I guess (even though it works). I guess whoever named this constraint had another view on it, which made more sense in that context. Best regards, GooGooCluster