Live data from Hacker News

HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit

sifive.com

21–30 of 97 posts

Re: HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit

#21

320mhz clock speed but only 16KB of RAM. RISC-V is appealing but if I'm stuck at 32KB or less of RAM I'd stick with the Parallax Propeller which has 8 parallel 100mhz cores.

> Parallax Propeller which has 8 parallel 100mhz cores.

According to https://en.wikipedia.org/w/index.php?title=Parallax_Propelle... it is only up to 80 MHz.

Re: HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit

#22
post #11
post #7

Earlier quoted context omitted.

It's a much more capable device. The existing RISC-V instances (I don't know much about SiFive's offering per se, I'm just reading off their datasheet) are more comparable to ARM Cortex-M parts -- running in the dozens to hundreds of MHz, with an MMU and a real OS kernel (Linux, obviously, though surely there are BSD ports in the works). Hardware has, in addition to the GPIO, UART and ADC/DAC that you're used to from…

That sounds like these boards are getting to the point they can handle decent audio/signal throughput. But I don't see anything about usb or adc/dac on the site?

You are correct. This first FE310 chip on the HiFive1 board does not have a built in ADC/DAC.

Re: HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit

#23

320mhz clock speed but only 16KB of RAM. RISC-V is appealing but if I'm stuck at 32KB or less of RAM I'd stick with the Parallax Propeller which has 8 parallel 100mhz cores.

I'm not sure that's the whole story - specs read:

Memory: 16 KB Instruction Cache, 16 KB Data Scratchpad

I'm wondering if it's possible to combine that or dice it in some way? On top of that, the program resides in SPI flash (128 Mbit -> 16 meg).

EDIT: ok - the above makes no sense, so yes, on 16K on-board RAM (and the other is for cache).

Short of more info, I'd be willing to bet that some of that flash can be set aside (or used like) variable space (albeit at a slower speed), and the on-board memory is more for high-speed stuff (and you'd have to swap things in/out - though likely they'll have a library for all of that - maybe).

If all of that is true (or close to the truth) - well, I don't know if it would be better than the propeller or whatnot, but it certainly looks interesting...

EDIT:

Reading the infosheet on the processor:

https://dev.sifive.com/documentation/freedom-e310g-0000-manu...

It does seem like the flash can be used for data and program space - and it appears like it can be read/written to from the cpu - so it's kinda like the flash storage on the Arduino. I would imagine it can be used similar - although slower - as variable memory (given a proper lib); and "paged" into the faster on-board 16k RAM.

Re: HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit

#24
post #3

For someone who has no idea what RISC-V is but loves making things with Arduino, what new things could I do with this?

Agree, for some who has no idea what RISC-V is, which I'm guessing is more than 50% of visitors, the "why" on the page needs to sell me on why RISC-V is better or at least better for certain things.

If you aren't interested in architecture, there's probably no particular reason for you to buy this at this point. RISC-V is just getting started, so there aren't huge practical benefits yet. In the long run, we'd obviously prefer to use open-source unencumbered hardware, which is the point of the RISC-V project.

Re: HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit

#25

So does it have a MMU? That would make it even more superior to Arduino boards.

The RISC-V ISA defines different privilege levels: Machine, Hypervisor, Supervisor, User. It is possible for a chip to conform to the RISC-V Privilege Spec v1.9 by only implementing the bare metal or Machine mode, which is what the chip on this board does. So the chip on this board does not have User mode or an MMU.

Re: HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit

#26
post #23

320mhz clock speed but only 16KB of RAM. RISC-V is appealing but if I'm stuck at 32KB or less of RAM I'd stick with the Parallax Propeller which has 8 parallel 100mhz cores.

I'm not sure that's the whole story - specs read: Memory: 16 KB Instruction Cache, 16 KB Data Scratchpad I'm wondering if it's possible to combine that or dice it in some way? On top of that, the program resides in SPI flash (128 Mbit -> 16 meg). EDIT: ok - the above makes no sense, so yes, on 16K on-board RAM (and the other is for cache). Short of more info, I'd be willing to bet that some of that flash can be set a…

You're correct, you can access the 128MBit SPI Flash as any other read-only memory mapped memory -- you can execute out of it or load data (you can also write to it but need to use a seperate channel, it's not directly memory mapped to write).

You're also correct on the sizes of the ICache and Scratchpad. You can execute code which resides in the scratchpad, but can't store data in the I-Cache.

Re: HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit

#27
post #16

Earlier quoted context omitted.

Agree, for some who has no idea what RISC-V is, which I'm guessing is more than 50% of visitors, the "why" on the page needs to sell me on why RISC-V is better or at least better for certain things.

I rather believe that if you don't know what RISC-V is, you simply are not the audience.

Then you're not fulfilling your potential for new people to enter that audience: https://xkcd.com/1053/

Re: HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit

#28
post #11

Earlier quoted context omitted.

That sounds like these boards are getting to the point they can handle decent audio/signal throughput. But I don't see anything about usb or adc/dac on the site?

If you want an arduino compatible device that can do audio processing, go for a Teensy board ( https://www.pjrc.com/teensy/ , http://www.pjrc.com/teensy/td_libs_Audio.html )

72/120MHz isn't really enough to do "decent" audio/signal processing with low distortion.

You can probably get it to work with a lot of effort and optimisation, but there'll be very little room to do anything with it afterwards.

Afaik AC97 chips run at around 24MHz, are dedicated to the job, and even they stop at 20 bit resolution and sticking the data onto a data bus. Getting better than that is "hard", which is why all the manufacturers pretty much standardised around such a low standard.

Re: HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit

#29
I looked over the Chisel source code and the barebones datasheet [1]. This chip has a couple of unique features:

1. It doesn't have any onboard NVRAM (same limitation as the open-v). However, it does have a directly memory mapped quad-SPI peripheral and icache, which is a great alternative and might be better for applications that require a large amount of data. Note that an icache would still be required even if it had onboard NVRAM, because of its speed. You could also make swappable game cartridges, for example.

2. It has enough RAM and speed to run Opus.

3. The rest of the peripheral set is pretty barebones, no analog like the open-v has. No I2C or I2S without bitbanging, either.

4. The boot ROM has peripheral information stored in it. You might be able to have one binary that boots on different types of cores using this.

[1] https://dev.sifive.com/documentation/freedom-e300-platform-b...

Re: HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit

#30
320 MHz core clock is very impressive, compare to <= 200 MHz typical of Cortex-M3/4 impls. However at this freq, flash (instruction) readout becomes the bottleneck. While Cortex-M chips typically include some on-chip flash acceleration, this chip instead went for external flash + I-Cache. The new Cortex-M7 chip STM32F7 has both flash accel and I-Cache. It remains to be seen whether this chip can sustain real-world workloads at 320 MHz with 0 wait state. Even at 200 MHz it has the potential to replace proprietary fixed-point low-end DSP chips.
Post reply on HN