Andre,
There are a few alternatives. I am doing something similar in my design right now, but it depends on the speed of your clock/data rate and whether it's smooth or gapped.
(*) You can generate a higher clock and do everything with it - nice, clean and quiet. In this case, use OFFSET constraint for external clock. You can apply either internal or EXTERNAL setup/hold settings for the OFFSET constraint (external means the specs of the external device, but make them a little harder than the spec). (**) You can try some very nice asynchronous switching by latches, but......................................... I am not a big fan of it. (***) NO time at all, try PAD to PAD delay, which you can contraint for the cases you have a PAD ==> combinational_logic ==> PAD.
If you could give a few more details...
Hope this helps. Vladislav
P.S. .
I have some doubts concerning the following problems:
In my design I have an 8bit bidiretional bus "Data_ulpi". When the external module drives data into my FPGA I have to read that data and respond immediately that is I have NO time to synchronize the data with 2-stage-FFs/FIFO.
... NO time because the external module is expecting response on the next clock cycle.
I have read several posts in this newsgroup explaining that the state machine would have to be very tricky to handle unregistered inputs.
So how do I have to place bidirectional bus and control signals to have at least a chance of doing a good job ? What constraints do I have to take into consideration in that special case for tSU/tH ?
Thank you for your advice.
Rgds André