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

Arduino on NUMATO FPGA boards

Discussion in 'FPGA Boards' started by mistery, May 27, 2015.

  1. mistery

    mistery Member

    Joined:
    May 26, 2015
    Messages:
    66
    Likes Received:
    4
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Zagreb
    Home Page:
    Radiona Makerspace in colaboration with Faculty of Electrical Engineering Zagreb (FER) are working on project that will bring FPGA closer to arduino users.

    http://www.nxlab.fer.hr/fpgarduino/

    We have some questions for supporting your Elbert Spartan-3 FPGA dev board, and we made bitstream for it, but the user does not have serial adapter to check does it work. So we need a bit help from someone that has this and other boards with serial, so we could continue to support it...

    It is all open and on git, so you can join to support more boards to

    this is freshly made bitstream for Elbert board

    http://www.nxlab.fer.hr/fpgarduino/bitstreams/xilinx/numato_elbert_v2_riscv_60mhz.bit

    git is here

    https://github.com/f32c

    thanks
     
  2. moonedoge

    moonedoge New Member

    Joined:
    Apr 9, 2015
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    Yup, i dont have the FTDI board, would be nice if someone could help
     
  3. admin

    admin Administrator Staff Member

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

    Elbert V2 currently doesn't have a mechanism to communicate with the PC without an external USB - Serial converter. The USB connector on board supports only configuration right now. But it may be possible to make some changes to the firmware on the PIC microcontroller and use it for serial communication. We will take a closer look at if and how that can be done (may take 2-3 days though).

    Thanks,
    Tom
     
  4. moonedoge

    moonedoge New Member

    Joined:
    Apr 9, 2015
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    Thanks, that would be great. But i dont get any signs of that the Arduino bitstream is working on my board, its just power leds coming on
     
  5. mistery

    mistery Member

    Joined:
    May 26, 2015
    Messages:
    66
    Likes Received:
    4
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Zagreb
    Home Page:
    First we need to get blink led working.
    Can you send us any vhdl, verilog or ucf file that is working on your board
    And please confirm that the board is numato elbert v2
     
  6. moonedoge

    moonedoge New Member

    Joined:
    Apr 9, 2015
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    Yes, the board IS Elbert V2, and yeah, i will send something when i get home.
     
  7. admin

    admin Administrator Staff Member

    Joined:
    Jan 23, 2015
    Messages:
    169
    Likes Received:
    11
    Trophy Points:
    18
    We looked at the possibility of modifying the firmware to make serial communication available to Elbert V2 without external USB - Serial converters. The most important consideration was that existing Elbert V2 users should be able to use their boards without any hardware modification. And it turns out, we may be able to do that. The PIC's RX and TX are connected to FPGA's INITB and CS. Fortunately, these pins on the FPGA ( 67 and 41) can be used as general purpose IOs once configuration is complete. Now that we have RX/TX connectivity between FPGA and PIC, we need to make a mechanism through which PIC can can detect if we want to use USB for configuration or serial communication. On Mimas V2, this is done by connecting a slider switch to one of the IOs of the PIC micro. Unfortunately, such a mechanism/switch does not exist on Elbert V2. So the only way to achieve this is to use the jumper for firmware update for this purpose. The downside though is that the jumper should not be installed while powering up the board or the board will jump in to firmware update mode.

    We are working on making modification on the Elbert's firmware to test if this is really possible. Will post updates here in next few days. Meanwhile any suggestions and ideas are welcome.

    Thanks,
    Tom
     
  8. admin

    admin Administrator Staff Member

    Joined:
    Jan 23, 2015
    Messages:
    169
    Likes Received:
    11
    Trophy Points:
    18
    A quick update. We were able to successfully implement Serial communication through USB on Elbert V2 by modifying the firmware. No hardware modification is required in order to use this new firmware. I'll share more information and the firmware in a day or two. Stay tuned!

    Thanks,
    Tom
     
  9. admin

    admin Administrator Staff Member

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

    Attaching beta firmware for Elbert V2 that has USB - UART communication implemented. The zip file also has sample bit/bin files that can be used to test loopback. Please follow the document inside FirmwareDownloader.zip for more information on how to download the firmware to Elbert V2. Once the new firmware is downloaded please follow the following steps to test.

    1. Use Elbert V2 configuration tool to download ElbertV2_Loopback_UART.bin
    2. Power cycle the board
    3. Short the FWUP jumper
    4. Connect to the Elbert V2's COM port using any serial terminal emulation program (Teraterm etc..)
    5. Press any key on the keyboard and it should be echoed by the board

    Placing a jumper on FWUP will enable USB-UART communication. Do this only after the board powers up. Leaving the jumper FWUP connected during power up will cause the board to go to bootloader mode.

    Thanks,
    Tom
     

    Attached Files:

  10. mistery

    mistery Member

    Joined:
    May 26, 2015
    Messages:
    66
    Likes Received:
    4
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Zagreb
    Home Page:
    Sorry I did not get message notification, great work, and great news

    We have preliminary Boards Manager support in arduino . In File->Preferences->Additional Boards Manager URLs enter:
    https://github.com/f32c/arduino/raw/master/hardware/fpga/f32c/tools/boards-manager/package_fpga_inde

    Now we only need user who has Elbert V2 board to try arduino with and new pic firmware, or you can try it?

    If you are willing to try it please give us pins with LED diodes, TX, and RX on FPGA so we can make change on code ...
     
  11. admin

    admin Administrator Staff Member

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

    We certainly can test but it may take a couple weeks due to the real busy schedule we have right now. Meanwhile if you would like to give it a try, we could provide a sample hardware unit for free. Please send a message to us through http://numato.com/contacts if you would like to receive a board.

    Thanks,
    Tom
     
  12. mistery

    mistery Member

    Joined:
    May 26, 2015
    Messages:
    66
    Likes Received:
    4
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Zagreb
    Home Page:
    That would be great, that way we could add more arduino examples for this board.
    Thank you I will send message.
     
  13. Kazam

    Kazam New Member

    Joined:
    Jul 2, 2015
    Messages:
    21
    Likes Received:
    1
    Trophy Points:
    3
    Gender:
    Male
    Location:
    Stockholm
    How can I make this work on my Mimas V2 board? It seems like the perfect fit for what I want to do!

    Tried to look at the f32c/rtl/proj directory but I'm not sure how to hook up the serial console. Is this possible with the Mimas V2?
     
  14. mistery

    mistery Member

    Joined:
    May 26, 2015
    Messages:
    66
    Likes Received:
    4
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Zagreb
    Home Page:
    Hi, thank you for your interest in f32c project
    Numato was generous and send us Minimas V2, and Elbert V2 boards
    I have tried to get the f32c working with Elbert, but I did not succed, so I will need to send the board to main developer. Houpefully it will be supported next week.
    For the Minimas it shoud be easyer, so I wll try to do it tomorow.
    If I succed I will send you link, if not I will send it tuesday with Minimas to developers.

    If you want to do it yourself you should use tb299 project and add Minimas ucf to it, for linux it is all automatize in Makefile
     
  15. Kazam

    Kazam New Member

    Joined:
    Jul 2, 2015
    Messages:
    21
    Likes Received:
    1
    Trophy Points:
    3
    Gender:
    Male
    Location:
    Stockholm
    Great,

    I tried to open tb299 and go from there but some files we're missing. I'm probably supposed to add those myself but since you're looking at it tomorrow I will see how that goes.

    How much space do you think the f32c will take on a Spartan 6 LX9? I'm wokring on an ADC interface and also some decoding logic that needs to fit as well.

    The Mimas V2 has DDR SDRAM, do you think it would be at all possible to use this? I have genereated a DDR memory controller using the Core Generator and that works fine. Actually using it is another matter though...

    If Arduino runs on this I'm hoping to be able to write ADC data directly into SDRAM and then write it out to an SD card. There is an SD library for Arduino which would make this so much easier.

    I tried in vain to generate a MicroBlaze processor but apparently they are not licensed through WebPack now. Arduino I know so that would just make everything so much easier.
     
  16. mistery

    mistery Member

    Joined:
    May 26, 2015
    Messages:
    66
    Likes Received:
    4
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Zagreb
    Home Page:
    Yes you need to use it as a template for Minimas V2 board, I will try to do it.

    Im really not so much into development so I do not know how much space it would take, but you can open issue on git and ask.

    Yes I have talked with developer about DDR SDRAM and they are think it could be possible if you have some experience maybe you could help them to do it that way.

    On our board sd cad is supported, so I think it is possible to support it on Minimas with some effort.
     
  17. Kazam

    Kazam New Member

    Joined:
    Jul 2, 2015
    Messages:
    21
    Likes Received:
    1
    Trophy Points:
    3
    Gender:
    Male
    Location:
    Stockholm
    I have limited experience with SDRAM and quite frankly everyone seems to prefer SRAM. For such a simple application as filling up the memory and then writing it to SD I'm hoping it could be possible. Hopefully using the Xilinx Core Generator to synthesize the memory controller.
     
  18. mistery

    mistery Member

    Joined:
    May 26, 2015
    Messages:
    66
    Likes Received:
    4
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Zagreb
    Home Page:
    One good news for today.
    I have succesfully get fading LEDS on Mimas V2 that means f32c is working, now I need to get serial and try to upload arduino code...
    I also fixed project file so when I upload it you can use it in ISE
     
  19. Kazam

    Kazam New Member

    Joined:
    Jul 2, 2015
    Messages:
    21
    Likes Received:
    1
    Trophy Points:
    3
    Gender:
    Male
    Location:
    Stockholm
    Great news! Really want to see this come to fruition.

    I looked at your project page. Do you have some examples of what people, or you yourself, have done with f32c? I was looking for some more documentation on how to interface board hardware with the processor. Memory mapped I/O?
     
  20. mistery

    mistery Member

    Joined:
    May 26, 2015
    Messages:
    66
    Likes Received:
    4
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Zagreb
    Home Page:
    As I know there is only one board that has supported SRAM, and sd card
    https://github.com/f32c/f32c/tree/master/rtl/proj/lattice/ulx2s_sram
    And I see here is some sdram support
    https://github.com/f32c/f32c/tree/master/rtl/proj/xilinx/scarab_ms6p_sdram
    so you could check
    those folders that ends with _pid has support for pid module so maybe you could check one of them to

    Yesterday I have succesfully got serial working, but we have one problem.
    Numato pic is programmed to support 19200 baud rate, and we are using 115200

    I did get it to show me console, but I thing it will be difficult to program it that way from arduino.

    If you want to try to compile, and test It on your board you can download it from my repo
    https://github.com/goran-mahovlic/f32c.git

    the only differences from main branch is that serial pinout was wrong

    you should only change serial port speed in sio file
    f32c/rtl/soc/sio.vhd
    C_init_baudrate: integer := 115200;

    C_init_baudrate: integer := 19200
     

Share This Page