I am working in a VHDL project and I have to use the DDR2 memory (MT47H64M16-25E) of the Atlys Spartan 6. I have already generated the MCB with the MIG (ISE Design Suite 14.2). The configuration I have used is in the attachments. In order to test the MCB (Memory Control Block) on the board, I have implemented my own top-level block (OnBoard_TB.vhd) and instantiated the top level that the MIG had generated. I tried to make a simple write/read without success, so I decided to test firstly every signal. The calib_done goes high at the really begining, but then the signal seems to be changing all the time and to do something strange. Just to check the calib_done signal, I wrote this process: calib_process : process variable calib_times : integer := 0; begin wait until c3_calib_done'event and c3_calib_done = '1'; calib_times := calib_times + 1; if calib_times > 10 then leds(0) <= '1'; leds(7 downto 1) <= "0000000"; end if; end process calib_process; And the led went on. That means that the calib_done signal is changing to low and high all the time. Is that correct? Should not be always high after reaching a succesful calibration? I am just checking the signals because I could not write and read what I had already written. I just do not know if the MCB does not work properly or I am doing something wrong. It would be really helpful if somebody could tell me if I am doing something wrong, or send me an example of write/read with the DDR2. **You can find my entire project (also the UCF file) in the attachments. Thank you very much.
I forgot to say that I commented the following lines from the UCF files: #NET "memc?_wrapper_inst/memc?_mcb_raw_wrapper_inst/selfrefresh_mcb_mode" TIG; #NET "c?_pll_lock" TIG; #INST "memc?_wrapper_inst/memc?_mcb_raw_wrapper_inst/gen_term_calib.mcb_soft_c alibration_top_inst/mcb_soft_calibration_inst/DONE_SOFTANDHARD_CAL*" TIG;
I am only trying to know if the calibration process works well. As I read in the UG388 (page 25), the calib_done signal has to be high before doing any transaction. That is why I want to be sure that this signal is activated. I connect directly the calib_done signal to the LD0 led, but it does not go on. I also read the UG416. I know that there is an example with a traffic generator. I would like just to integrate the MCB in my logic in order to do some simple write and read instructions. It would be really helpful if you could tell me if the configuration of the MCB is not correct or I am doing something wrong in the instantiation in my own top level. Thank you in advance Jose
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.