Arlet wrote:
...By the way, can you explain how you implemented your IODELAY ? I started reading the Xilinx documentation a little better, and started some experiments of my own. For instance, I had assumed there was only an output delay, but I saw that I was wrong about that, and that you can also apply an input delay, or even both input & output delays on the tri-state signals. Given that, an input delay applied to the data signals would seem most appropriate.
I've not figured out how to implement it yet. I've read that one can do it 1 of 2 ways. Either through a .UCF constraints file, or a special comment right before the 'module' declaration. I sort of gave up on the IODELAY since I couldn't figure it out. The progress I've made has been without IODELAY and using my own code for bi-directional comm. from/to the SyncRAM to the FPGA, very simple code but the RTL looked correct. In learning Verilog, the representative RTL schematic seems to be the bottom line to see if the code has been inferred correctly.
I'm about to put this board though a more stringent test very soon. Clearing screens, reading repetitive data and modifying it with a logic values and writing it back is not a real test...
I'm 1 step away from plotting 8x8 pixel characters anywhere within the 640x480 display RAM, then reading that data and replotting it. But I also am focusing on getting the cpu back up to 100MHz...
I had saved that project file immediately when I was successful with a 25MHz pixel clock at 100MHz cpu clock. The only thing that made it unsuccessful immediately afterwards was adding another blockRAM for the character ROM and the address decoding. Time for me to go 1 step backward, then hopefully 2 steps forward. I plan to use 1 blockRAM for zero & stack page at the bottom of memory, video ram starting right in the middle, and the OS and Character ROM at the top of the 4GB memory map.
A 100Mhz .b '6502type' core has always been my goal. I will strive to keep this speed and will go to
great lengths to maintain it. This is where the .b core might start to morph, if all that is left to maintain speed is to start trimming address modes.