1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

[Solved]Mimas V2 Timing problem

Discussion in 'FPGA Boards' started by Yiannis, Sep 13, 2015.

  1. Yiannis

    Yiannis New Member

    Joined:
    Sep 13, 2015
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    Location:
    Greece
    Dear friends ...
    for days now I am trying to make a small program that makes use of timing (clk) of the fpga. Unfortunately
    what ever i have tried i get a message CLK_IBUF has no load in ISE

    Could someone kindly post a verilog program (lets say just a led on off) with the program and ucf settings ?
    I would appreciate a help ;)

    Please make it compatible for MIMAS V2. I am trying to figure out if there is something wrong with my hardware or ISE software. (or maybe i do something wrong)

    Thx in advance
     
  2. Yiannis

    Yiannis New Member

    Joined:
    Sep 13, 2015
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    Location:
    Greece
    Noone ? :eek:
     
  3. admin

    admin Administrator Staff Member

    Joined:
    Jan 23, 2015
    Messages:
    169
    Likes Received:
    11
    Trophy Points:
    18
    Hi Yiannis,

    There are a few example projects that are listed on the Mimas V2 product page and most should be using clock. Did you have a chance to check them out ? Attaching the sample code section on the product page for reference.

    Thanks,
    Tom

    upload_2015-9-14_9-28-23.png
     
  4. Yiannis

    Yiannis New Member

    Joined:
    Sep 13, 2015
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    Location:
    Greece
    Yes I have downloaded them all and tried them. Initially they were not made for MIMAS V2 so I changed the ucf file in order to point to the correct ports but it didn't work. I have had some experience with MOJO board , but now when I declare the clock I get a message like the clock was not recognized. I can see there are two clocks (one 100 Mhz and one 12 Mhz) . None seems to be working in my programs. On the other hand when i copy the demo .bin file everything seems to be working correctly so i take it that there is no hardware error. Propably there is a different procedure to declare the correct CLK than in MOJO. Thats why I would appreciate a simple example. Question ... should i create an IP Core ? I though I should had not.
     
  5. Alexander Lang

    Alexander Lang Member

    Joined:
    May 17, 2015
    Messages:
    81
    Likes Received:
    15
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Manchester, UK
    Hi Yiannis,

    I'm not particularly the best person for this as I don't know much about verilog but...I did have a look at the example code which Tom pointed you towards. I used the seven segment led display example. I just downloaded it and extracted the files and then loaded the project into Xilinx WebISE 14.7

    I found that the device specified by the project was incorrect (it was set for the Elbert V2 board) so I changed it to the correct device for a Mimas V2:

    Spartan SC6XLS9 - 3CSG324

    - I also found that the UCF file contained the incorrect pin information for the Mimas V2. I then had a look in the project directory for the UCF files and found that there is a user constraints file for Mimas V2 and it just needs selecting - you are correct that the current information in the project is incorrect and if you were to build the project as it stands it would not work on Mimas V2.

    I cannot explain the code as I'm not particularly familiar with verilog. It appears to me though that the code basically causes the seven segment display to count up from 0 to 9 on each display and then halt.

    I then rebuilt the project and uploaded it to my Mimas V2 Board and I saw the seven segment display perform a cycle. I have attached the my version of the project which should now work also for you. Upload the bin file to your board and check it works...

    Here is a video of my board in action:



    Hope this helps

    Alex
     

    Attached Files:

  6. Alexander Lang

    Alexander Lang Member

    Joined:
    May 17, 2015
    Messages:
    81
    Likes Received:
    15
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Manchester, UK
    Dear Yiannis, having re-read your issue I will hopefully be able to show you ho to generate a simple clock and divide it down as required. Apologies for not understanding your query properly the first time.

    cheers

    Alex
     
  7. Yiannis

    Yiannis New Member

    Joined:
    Sep 13, 2015
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    Location:
    Greece
    Thank you very much Alexander. I read both your messages. Actually yes , this example I managed to change it into Spartan6 but to be honest the Verilog code is a little strange and makes alot of warnings. Also it uses the 12Mhz clock instead of the 100. Thank you very much for your time and I can't wait for your example.

    Cheers
    Yiannis
     
  8. Alexander Lang

    Alexander Lang Member

    Joined:
    May 17, 2015
    Messages:
    81
    Likes Received:
    15
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Manchester, UK
    Yiannis,

    I have written a very simple project in VHDL which takes the 100 MHz clock and divides it down to 1 second. When a second has passed LED 1 will flash. When ten seconds has passed LED 2 will flash.

    I have attached the project as a zip file and generated the bitstream. Please upload it to your Mimas V2 board and let me know if it works. I haven't had time to write it up properly for you but the comments in the code should make it clear to you. I will upload a video and provide more help if you need it.

    Good luck

    Alex
     

    Attached Files:

  9. Alexander Lang

    Alexander Lang Member

    Joined:
    May 17, 2015
    Messages:
    81
    Likes Received:
    15
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Manchester, UK
    Yiannis, I noticed a mistake in the code - the LED_2 does not flash every ten seconds, I will update it when I get the chance so you have a working example.

    Is this the sort of thing you were looking for?

    Cheers

    Alex
     
  10. Yiannis

    Yiannis New Member

    Joined:
    Sep 13, 2015
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    Location:
    Greece
    Dear Alex , thank you very much for your code. The only problem is that I needed a verilog program ;)
    Anyway I appreciate your effort and I will try to translate your code into Verilog. Unfortunately I have never used VHDL ... :(


    ... I really thank you for your time
     
  11. Alexander Lang

    Alexander Lang Member

    Joined:
    May 17, 2015
    Messages:
    81
    Likes Received:
    15
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Manchester, UK
    Yiannis,

    I will re-write for you in Verilog. I am a little rusty but it shouldn't take me too long. I will comment the program to make it clearer for you. What do you want the code to do?

    Cheers

    Alex
     
  12. Yiannis

    Yiannis New Member

    Joined:
    Sep 13, 2015
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    Location:
    Greece
    Just a blinking led code would be fine my friend ... i really appreciate it !!

    Regards
    Yiannis
     
  13. admin

    admin Administrator Staff Member

    Joined:
    Jan 23, 2015
    Messages:
    169
    Likes Received:
    11
    Trophy Points:
    18
    Hello Yiannis,

    To build the code for a specific platform, you will need to run the accompanying batch file and and select the correct board when asked. The project files specific to the selected board will be generated automatically and Xilinx tools will be invoked to build the code. Below is the complete readme.txt file from the LEDs sample code. Directly running the ISE project file will always invoke the default configuration, which is Elbert V2.

    Thanks,
    Tom
    Code:
    LED Expansion Module demo code
    Numato Lab
    http://www.numato.com
    http://www.numato.cc
    
    This package contains source and other files necessary to build
    LED Expansion Module demo for the following boards.
    
    1. Elbert V2 Spartan 3A FPGA Development Board
       http://numato.com/elbert-v2-spartan-3a-fpga-development-board.html
    
    2. Mimas Spartan 6 FPGA Development Board
       http://numato.com/mimas-spartan-6-fpga-development-board.html
    
    3. Mimas V2 Spartan 6 FPGA Development Board with DDR SDRAM
       http://numato.com/mimas-v2-spartan-6-fpga-development-board-with-ddr-sdram.html
    
    4. Saturn Spartan 6 FPGA Development Board with DDR SDRAM
       http://numato.com/saturn-spartan-6-fpga-development-board-with-ddr-sdram.html
    
    5. Waxwing Spartan 6 Mini Module With Carrier
       http://numato.com/waxwing-spartan-6-mini-module-with-carrier.html
    
    6. Waxwing Spartan 6 FPGA Development Board
       http://numato.com/waxwing-spartan-6-fpga-development-board.html
    
    The LED Expansion Module used to test this code is available at
    http://numato.com/fpga-boards/expansion-modules/led-expansion-module-8-leds.html
    
    IO Breakout Boards make it easier to attach expansion modules to Saturn and Mimas.
    Please see links to IO Breakout boards below.
    http://numato.com/fpga-boards/expansion-modules/io-breakout-module-for-mimas.html
    http://numato.com/fpga-boards/expansion-modules/io-breakout-module-for-saturn.html
    
    There are two ways to build this project. Either using Xilinx ISE or running
    easy to use batch files. ISE Webpack must be installed with proper license in
    either case. By default the project is configured to build for XC6SLX45. To
    build for a different device you need to open LEDExpansionModule.xise
    in ISE and change the device in project properties and rebuild.
    
    1. Building the project using Xilinx ISE
       Open the project file LEDExpansionModule.xise using ISE. Right
       click on the "Generate Programming Files" process in the process window and
       select "Rerun all". You may need to add appropriate user constraints file to
       the project depending on which board you are building the project for. User
       Constraints Files for all supported boards can be found inside "ucf" folder.
    
    2. Building the project using Command Line Window
       Open command line window and navigate to the folder where the project files
       are located. Invoke the batch file and give necessary input asked. Make sure
       all build steps finish successfully. You will need to register the path to Xilinx
       build tools (usually C:\Xilinx\xx.xx\ISE_DS\ISE\bin\nt) in PATH environment
       variable for the batch files to work.
    
    ISE Webpack software and license is available for free at http://www.xilinx.com
    
    When the build finishes successfully a .bin and a .bit file should be created in
    the folder name binary.
    
    ----------------------------------------------------------------------------------------------------------------
    Sr No.  Numato Lab's FPGA Board        Header Used
                                       LEDs         PUSH BUTTONs
    1          Elbert V2                P4           P4
    2          Mimas*                   P2           P5
    3          Mimas V2                 P6           P9
    4          Saturn LX16**            P11          P12
    5          Saturn LX45**            P11          P12
    6          Waxwing Carrier          P5           P7
    7          Waxwing Dev Board        P5           P3
    
    *  Mimas Expansion Connector connected to Header P1 of Mimas.
    ** Saturn Expansion Connector connected to Header P2 of Saturn Spartan 6 Development Board.
     
  14. Alexander Lang

    Alexander Lang Member

    Joined:
    May 17, 2015
    Messages:
    81
    Likes Received:
    15
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Manchester, UK
    Hello Yiannis,

    Took me a little longer than expected - I've forgotten how to code in verilog!

    Please find attached a project which I have tested and flashes LED 1 once a second on Mimas V2.

    I haven't had time to explain or comment on the code. Good luck!

    Alex (sleep is now required!)
     

    Attached Files:

  15. admin

    admin Administrator Staff Member

    Joined:
    Jan 23, 2015
    Messages:
    169
    Likes Received:
    11
    Trophy Points:
    18
    Hi Alex, thanks for sharing the code. I'll mark the thread solved for now.

    Thanks,
    Tom
     

Share This Page