Replies: 7 comments 32 replies
-
By the way, great work. One of my Students uses this Core in his Master Thesis, after struggling with the Cortex M1 and M3 available for Vivado and everything just workes! |
Beta Was this translation helpful? Give feedback.
-
Is there any limitation for implementing an arbitrary number of UARTs? That is, use some generic along with a generate loop, and the corresponding tweaks to the software (if necessary). The same question would apply to other components. In the control applications where PIC/Arduino are used, I see people might want to have an arbitrary number of PWM or SPI components, each with a number of channels. So, e.g., one PWM with 6 channels and another PWM with 2 channels, implying that all the channels in a module share the same counter/fundamental frequency. Something I've been willing to do is writing a core for controlling 3-5 LED arrays, some addressable, some non-addressable. It would be interesting to use NEORV32 for that, by just modifying a few generic parameters. |
Beta Was this translation helpful? Give feedback.
-
Have you looked at: https://github.com/slaclab/surf To see what you could reuse? |
Beta Was this translation helpful? Give feedback.
-
@stnolting multiple UARTs can be implemented with Regarding CORDIC, this wuld be part of an FPU, right? No need for standalone CORDIC. |
Beta Was this translation helpful? Give feedback.
-
A small DMA peripheral would be really nice. There are some devices that are relatively high speed that would benefit from fast access to DMA, such as ADCs that are continuously streaming. A simple dual-buffer style DMA that would allow the user code to read from one slot while the DMA is transferring to the second slot in a circular fashion would be really great. So maybe just a few registers to set slot A address and size, slot B address and size, an interrupt output and a few bits for control and status (which slot is actively being written to, enable/disable, etc). The doubt is what should be the data input interface. Wishbone, axi lite? Is this similar to the old SLINK interface that existed a few versions ago and hence has the same conceptual problems it had? |
Beta Was this translation helpful? Give feedback.
-
Along the "arbitrary number of UARTs" argument, I found a use case where two SPIs would be nice: I happen to have a board here where all except one SPI-controlled chips are 4-wire, but one is 3-wire. It would be really nice if I could just get a second SPI controller and have that nicely separated hw wise, but use the same software on one MCU to get the job done. If I wanted to try making a second SPI myself, is there a recommended place to start? |
Beta Was this translation helpful? Give feedback.
-
Hello, I'm just looking into FPGA soft CPUs for the first time and came across this repo which looks great - thank you! I have a use case where I'm pairing a FPGA and MCU. The FPGA is performing some custom hardware acceleration tasks with the soft CPU assisting and doing some general housekeeping. The MCU (e.g. STM32) is running network stacks to connect the device to the cloud and has modern security features (secure boot, upgrade, trust zone etc). I need a fast interface for control and bidirectional data transfers between the MCU and FPGA. UART/SPI/I2C are too slow. PCIe isn't available in this class of device. A parallel memory bus requires too many pins. An interface that is common in MCU peripheral sets is SD/SDIO - low pin count, high throughput, reasonably simple, standard CMOS I/O. It would be great to have SDIO slave interface support in this soc. It would bridge between the sdio interface and the memory bus of the soc (either as another bus master, or perhaps using the DMA). I appreciate this is quite a specific request for my particular use case, but I think it could be a useful option. |
Beta Was this translation helpful? Give feedback.
-
I am wondering if there are further hrdware modules that would be nice-to-have as peripheral/IO devices 🤔
(I will be misusing this page as online sketchbook)
Constraints
Peripheral devices should be
Some ideas
Highly inspired by some microchip data sheets 😉
encryption/decryption/hash accelerators?(covered by RISC-V crypto extension)additional SPI/TWI modules?(SPI/TWI allow "multiple connections" at once)Feel free to comment if you have any ideas or remarks.
Beta Was this translation helpful? Give feedback.
All reactions