On Thursday, March 8, 2018 at 10:23:24 AM UTC-6, Cecil - k5nwa wrote:
> On 3/8/2018 10:14 AM, Mark Wills wrote:
> > On Thursday, 8 March 2018 16:06:42 UTC, Cecil - k5nwa wrote:
> >> On 3/8/2018 7:47 AM,
jpit...@gmail.com wrote:
> >>> On Wednesday, 7 March 2018 17:33:38 UTC, Cecil - k5nwa wrote:
> >>>> On 3/7/2018 6:25 AM,
foxaudio...@gmail.com wrote:
> >>>>> On Tuesday, March 6, 2018 at 9:40:25 AM UTC-5, Matthias Koch wrote:
> >>>>>>> If I understood correctly I saw that the CPU uses 3..4 clocks per instruction (40 for MUL).
> >>>>>>>
> >>>>>>> Is that typical for RISC machines in FPGA? (limited pipelining I assume)
> >>>>>>> Does having the register set give better performance than a J1 style stack machine in general usage?
> >>>>>>
> >>>>>> As Picosoc by Clifford Wolf on the HX8K breakout board runs out of a SPI attached serial
> >>>>>> flash memory, it crawls. But the architecture itself is by no means limited to this slow
> >>>>>> minimal "hardware" implementation ! J1a gives a much better performance on the same HX8K
> >>>>>> breakout board. No, this is neither typical for RISC-V nor for RISC machines in FPGA.
> >>>>>>
> >>>>>> Matthias
> >>>>>
> >>>>> My bad. I missed the detail on running out of SPI. Thanks for the explanation.
> >>>>>
> >>>>> B
> >>>>>
> >>>>
> >>>> Sounds like the story of the TI99-4A, take a fairly good processor and
> >>>> totally cripple the CPU by using a horribly inefficient memory system.
> >>>>
> >>>> --
> >>>> Cecil - k5nwa
> >>>
> >>> Did I miss something - or you are comparing a TI home computer from a generation ago ( 28 years) with a fixed CPU
https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A
> >>> with somebody's trial implementation of a RISC V CORE using a freeware tool chain on a Lattice ICE 8k board to see it running??
https://en.wikipedia.org/wiki/RISC-V
> >>>
> >>> A partial list of organizations that support the RISC-V Foundation includes: AMD[citation needed], BAE Systems, Berkeley Architecture Research, Bluespec, Inc., Cortus, Draper[citation needed], Google, GreenWaves Technologies, Hewlett Packard Enterprise, Huawei, IBM, Imperas Software, ICT, IIT Madras, Lattice Semiconductor, Mellanox Technologies, Microsemi, Micron, Microsoft[citation needed], Nvidia, NXP, Oracle, Qualcomm, Rambus Cryptography Research, Western Digital, and SiFive[12][13].
> >>>
> >>> Features and Typical Applications
> >>>
> >>> Small (750-2000 LUTs in 7-Series Xilinx Architecture)
> >>> High fmax (250-450 MHz on 7-Series Xilinx FPGAs)
> >>> Selectable native memory interface or AXI4-Lite master
> >>> Optional IRQ support (using a simple custom ISA)
> >>> Optional Co-Processor Interface
> >>>
> >>> This CPU is meant to be used as auxiliary processor in FPGA designs and ASICs. Due to its high fmax it can be integrated in most existing designs without crossing clock domains. When operated on a lower frequency, it will have a lot of timing slack and thus can be added to a design without compromising timing closure.
> >>>
> >>> For even smaller size it is possible to disable support for registers x16..x31 as well as RDCYCLE[H], RDTIME[H], and RDINSTRET[H] instructions, turning the processor into an RV32E core.
> >>>
> >>> Furthermore it is possible to choose between a dual-port and a single-port register file implementation. The former provides better performance while the latter results in a smaller core.
> >>>
> >>> Note: In architectures that implement the register file in dedicated memory resources, such as many FPGAs, disabling the 16 upper registers and/or disabling the dual-port register file may not further reduce the core size.
> >>>
> >>> The core exists in two variations: picorv32 and picorv32_axi. The former provides a simple native memory interface, that is easy to use in simple environments, and the latter provides an AXI-4 Lite Master interface that can easily be integrated with existing systems that are already using the AXI standard.
> >>>
> >>> A separate core picorv32_axi_adapter is provided to bridge between the native memory interface and AXI4. This core can be used to create custom cores that include one or more PicoRV32 cores together with local RAM, ROM, and memory-mapped peripherals, communicating with each other using the native interface, and communicating with the outside world via AXI4.
> >>>
> >>> The optional IRQ feature can be used to react to events from the outside, implement fault handlers, or catch instructions from a larger ISA and emulate them in software.
> >>>
> >>> The optional Pico Co-Processor Interface (PCPI) can be used to implement non-branching instructions in an external coprocessor. Implementations of PCPI cores that implement the M Standard Extension instructions MUL[H[SU|U]] and DIV[U]/REM[U] are included in this package.
> >>>
> >>
> >> Yes, all that fancy CPU is crippled by using SPI serial memory instead
> >> of really fast STATIC RAM, like it says it crawls waiting on the memory.
> >>
> >> By the way the marketing blurb is nice but without decent memory all
> >> those fancy words are a total waste of time. The same thing happens with
> >> the esp8266, nice core small, cheap, could be very fast but to save on
> >> pins used they connect it too to SPI serial memory and it crawls too a
> >> total waste of a decent core.
> >> --
> >> Cecil - k5nwa
> >
> > But speed isn't the only metric. Pin count, physical size, power consumption
> > and cost are all relevant.
> >
>
> True but it's hard to get excited about a slow CPU, we have had those
> for a long time. You can get a PIC for a fraction of a dollar but it's
> nothing to get excited about unless it also performs well, performance
> is one of the features that they brag about the RISC-V and with SPI RAM
> there is no performance to brag about.
>
> Nonetheless I would like to eventually see the code for it some of the
> small FPGAs have a bit of really fast internal memory and maybe with
> some minor changes it could speed it up quite a bit.
The RISC-V is not all about performance. It is intended to include a range of processors with different advantages. Fitting into less than 1 KLUT in an FPGA is a great advantage even if run from serial memory. The design could be made to run out of FPGA internal memory if speed is more important while still keeping a small footprint. No?
Rick C.