armleo / armleocpu Goto Github PK
View Code? Open in Web Editor NEWArmleoCPU - RISC-V CPU RV64GC, SMP, Linux, Doom. Work in progress to execute first instruction with new feature set
License: GNU General Public License v3.0
ArmleoCPU - RISC-V CPU RV64GC, SMP, Linux, Doom. Work in progress to execute first instruction with new feature set
License: GNU General Public License v3.0
Implement HTIF interface to use by verif-isa-tests to validate core. Do it with Icarus Verilog to ensure maximum compatibility.
Icarus Verilog does not return an error code from Verilog, so do it by writing a special value in the log. Also, dump data section to compare with reference.
See: riscv-software-src/riscv-isa-sim#364 for HTIF protocol
The MEIP field in mip is a read-only bit that indicates a machine-mode external interrupt is
pending. MEIP is set and cleared by a platform-specific interrupt controller. The MEIE field in
mie enables machine external interrupts when set.
The SEIP field in mip contains a single read-write bit. SEIP may be written by M-mode software to indicate to S-mode that an external interrupt is pending. Additionally, the platformlevel interrupt controller may generate supervisor-level external interrupts. The logical-OR of the
software-writable bit and the signal from the external interrupt controller is used to generate external interrupts to the supervisor. When the SEIP bit is read with a CSRRW, CSRRS, or CSRRC
instruction, the value returned in the rd destination register contains the logical-OR of the softwarewritable bit and the interrupt signal from the interrupt controller. However, the value used in the
read-modify-write sequence of a CSRRS or CSRRC instruction is only the software-writable SEIP
bit, ignoring the interrupt value from the external interrupt controller.
Cache/Backstorage
CacheCoherency
Atomics
Cache separate bus
Cache bus to AXI4 with cache coherency
Stop relying on default net type and add "wire" definition for all.
When D-Cache is flushed data in memory is written. But when I-Cache is flushed data is not invalidated in cache, causing data in I-Cache to be stale
JALR/JAL is not ignoring LSB bit.
Instead of keeping 2 stages have multiple stage:
Prefetch, fetch, decode, execute, mem, writeback.
Replace I/D-bus with AXI4 so that it can be simply pipelined.
Add armleocpu_undef.vh that undefines all defines. Same for armleocpu_csr.v which contains additional defines
Implement Chip2Chip protocol.
Max burst of 16 x 32.
Send 8-bit opcode, then the payload.
8 bit for data; + one csn, one oe = 10 pins
Skywater130 is 33MHz maximum => 33Mbps per pin x 8 bits = ~33MBps of raw speed per direction.
Clock is provided common between devices.
Two symmetrical interfaces, one host and one client on each chip.
As the interface is symmetrical, the same logic interface is implemented the other way around
Redesign ALU so it will not depend on ISA, instead it will only use value of select signals.
Add debug capabilities
Make sure all tests have $fatal and $display w/ !ERROR!
Move assertions/debug statements from combinational to sequential section
AXI4 Cache starts reading cache line from the requested address offsett and returns value before request is done
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.