Hi, I have some more time now and want to get this working. Looking over the VHDL I have two questions: 1. I tried disabling the multiplier and the barrel shifter to see how much area could be saved. This reduced the utilization from 57% to 50% of slices. Is this recommended or discouraged? 2. As I understand it the BRAM is generated from slices in the FPGA but can I use the BRAM generator in ISE to instead use the dedicated BRAM resources to reduce utilization?
Disabling the multiplier requires compiling and linking with a library with software multiplication (MULT instructions disabled). Such a library is already available in f32c/src, but we haven't integrated it in FPGArduino (yet). This applies only to MI32 binaries, since RV32I binaries never include multiplication instructions, so for C_arch = ARCH_RV32 setting C_mult_enable to false has no effect. Barrel shifter may be (partially) disabled to save a few LUTs on both MI32 and RV32 without recompiling or relinking, the only tradeoff is slower (iterative) shifting by 1 to 7 places. Shifts by 8, 16 and 24 places are still performed in a single cycle. As of the BRAM generator in ISE, I had nothing but trouble with it, so you are free to try it out yourself, but be warned not to expect much help from us on that endeavour. Custom 6K BRAM modules for s3A50 containing MI32 bootloader just hit the github repo, so I'd encourage you to use that. Note that RV32 configuration just barely fits into S3A50, though we couldn't get the serial communication to work via the onboard USB PIC. The MI32 with should also fit as of today (consuming 702 of 704 available slices), though again that variant uses a reduced MI32 instruction subset which calls for a specialized library, which we hope to prepare shortly.
Great, I'm followong this on Github now so no need to cross-post for my sake. Investigating at the moment and seems really promising I think!
Cloned the latest rep and had a look at the Mimas project. Noticed that the sio.vhd baudrate was set to 115200. Did you receive new firmware that gets around the 19200 limitation? /K
Sorry for the delay, Attaching firmware with 115200 baud rate support. Our developer tried loopback testing at 115200 baud and worked fine. Thanks, Tom
Is there new configuration tool now for Elbert? After I loaded firmware I got only Configuration download started... Configuration failed... from old config tool I will try to use python later
Python is working, and after rereading your post I succesfully got loopback, now I will try to get the f32c to answer...
Got the working blnik leds from arduino on Elbert V2. It is very hard to enter serial mode even with your serial loopback, pic firmware seems to be buggy.
Tried to get this working and pulled the latest GitHup repo. Noticed the serial baudrate is still 115200 in the Xilinx project and couldn't get anything to upload. The project synthesized good though and I uderstand the BRAM part now. Great! Any news on the 115200 firmware for MiimasV2? /K
Great, I have tested new version with VGA output. Yes we still do not have 115200 firmware, on Elbert is working great for uploading. So you need to change C_init_baudrate: integer := 115200; to 19200 for now, maybe we could put it in -- SoC configuration options Did you try soime arduino sketch? SD sard should work to, but I was unable to get it work. Serial I2C is working I still have problems wirh getting serial output with Serial.print in arduino, but for that we are waiting new firmware You can even write your code in C, you have some examples https://github.com/f32c/f32c/tree/master/src/examples
If you have some time you could try to port EMARDS UK101 on MimasV2 https://github.com/emard/UK101onFPGA
Hi Guys, sorry again for not responding for a while. We were quite busy with some other stuff this week so couldn't find some time to look at the 115200 baud issue. We will take a look at it on Monday and update. Thanks, Tom
no problem we have work to so no hurry do not bother to too much with Elbert for now it is ok I can normally upload code with arduino. Next week developers will try to support DDR SDRAM on Mimas, so if you manage try to do Mimas 115200 pic firmware. If they succeed it may be possible to put some mips linux on board
Thank you for your work. Tested on Windows 10 and the firmware upgrade went smoothly. Getting "Hello world" from the test bin @115200bps. I will boot into my Linux partition tomorrow, hopefully, and try to get the Arduino stuff to work. Great!
Great to hear that everything worked. Now it is time for me to give it a try and perhaps write a tutorial on it Trying to access the link http://www.nxlab.fer.hr/fpgarduino/numato-mimas-v2.html is causing 404 error though. Thanks, Tom