Altera_Forum
Honored Contributor
15 years agoModeling constraints for asynchronous outputs in TimeQuest
Hello everyone.
I'm a beginner when it comes to TimeQuest, but I did go through the online course, read the corresponding Quartus cookbook chapter and a few Altera resource pages... unfortunately, I never found an example similar to what I need to do. I either can't figure it out or I'm simply looking at it the wrong way! Essentially, my Nios communicates with an ethernet controller (LAN91C111) asynchronously (all my outputs are registered by a 54MHz clock, but the controller itself uses an asynchronous protocol). In its datasheet, there are several timing conditions I must uphold. For example, my data lines (let's call them DATA) must be active at least 2ns before my "read" (let's call it RD) line is asserted. Now, if the controller used its own clock to get the signals, I'd create a virtual clock representing it and start constraining from there... but since it works asynchronously, I have no idea how to do it! How do I tell TimeQuest "Hey, do whatever you want, but make sure DATA arrives at the FPGA output ports least 2ns before RD does" ? It seems Altera has made an extension to the set_output_delay command by adding the -reference_pin clause, but I've only found one small example using it and I'm not sure that's what I need. Thanks!