Coder Social home page Coder Social logo

riscvbusiness's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

riscvbusiness's Issues

Length of registers should be configurable

To enable ease of switching to 64/128 bit implementations, word length should be configurable. XLEN is the accepted RISCV terminology for this.
Not a pressing concern, as a 64 bit core is not on the current list of goals.

Failing timer interrupt test case.

Cause:

The failure is due to the pipeline issuing an instruction fetch when an interrupt/exception is occuring and the PC is getting updated. The read request changes before completion, causing problems in the memory controller.

Solution:

The iREN signal should be masked when the PC is being updated by an exception/interrupt.

Re-org of directory structure

The following reorganizations need to occur to clean up the directory:

  1. "rename ram_if" to "generic_bus_if"
  2. Rename pipeline to nonpipeline bridge to "generic_ram_bridge" (or something similar)
  3. Put all the RTL and TB into its own directory (includes, src, packages, fpga, tb)
  4. Create subdir in src for bus bridges (generic_ram_bridge, ahb_bridge)
  5. Create a new branch prediction file for the always not taken predictor and instantiate it in the branch predictor
  6. Create subdirectory for branch predictors
  7. Create subdirectory for performance/debug trackers (cpu_tracker, branch_tracker)

The idea is that anything that is swappable in our design (branch predictor, bus if) should have its own dir where each file in the dir follows a specific port mapping. We may choose to do this with icache and dcache too, if we want to allow different cache structures (coherent cache and non coherent caches).

It may be useful to have all our trackers in one dir so they aren't confused as source code for people initially looking through the repo. This allows us to also add more performance trackers without cluttering our base source directory.

Issue Error When Component Improperly Selected

If the define file selects a component that does not exist, the user is not warned. Instead, the design will just silently fail all test cases. Some sort of check should be added to the configurable components.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.