Still trying to understand the very basic IOB in all its details...
In the Spartan 2 datasheet I read: 'The IOB includes an optional register in the output path, the input path, and the 3 state control pin.
In the diagram this is clear.
Questions arise: Can the 3 state register be controlled independently? Are all 3 registers (plus the delay) active by default? Peeking in various .ucf files I find that some properties can be set:
NET my_net Clkp Does this mean positive clock on register? NET my_net OFFSET = OUT : 2.5 2.5 nS Does this mean delay in output? Is there also a programmable output delay?
So what are the exact commands for the UCF file to: Switch off / on the input register. Select a pos or neg clock for the input and output registers. What are the defaults?
Is there a specific xapp I should (have) read that describes this in detail, preferably with human readable examples?
The IOB diagram is clear enough by itself, but many things remain a mystery to me. For example if using clocked IOB on input, WHERE does the clock come from? I have 3 clock pins in use, how do you select? Is this hardwired somehow?
Sorry now I am getting into detail, but this I need to know to make any sensible circuits...