Skip to content
/ NDP Public

FPGA based computer inspired by the C128, PDP-11,Macintosh, and Lisp Machines

License

BSD-3-Clause, Unknown licenses found

Licenses found

BSD-3-Clause
LICENSE
Unknown
LICENSE.md
Notifications You must be signed in to change notification settings

fortlogic/NDP

Repository files navigation

NDP

https://fortlogic.visualstudio.com/NDP/_apis/build/status/NDP-develop?.svg

FPGA based computer inspired by the C128, PDP-11, and Macintosh

TODOs

Neccesities

[#C] Actually write a proper README

Only having TODOs is tacky. :p

[#A] Update Clash Version

I want explicit clocking and reset lines.

[#C] Move Clock Generation into Clash

Investigate creating the necessary primitives and whatnot necessary for having the entire clock generation setup written in clash.

Niceties

[#D] Make GHC plugin to generate Xilinx artefacts

Define a set of custom annotations that let the following artefacts be defined inline:

  • Constraints
  • Clock related stuff?
  • xflow’s .prj files

    A front-end GHC plugin can then read those annotations and generate the correcte artefacts for the xilinx toolchain to consume.

[#E] Move LPDDR Controller into Clash

Make the necessary primitives that let Clash instantiate the memory controller. Ideally the entire thing could be configurable in clash, but it might be necessary to generate the controller with the xilinx tools and make it easy to instantiate the resulting wrapper inside clash.

[#B] Move from HSpec to Tasty

Tasty looks fancy and I lust a bit for it. :p

Possibilities

[#C] Dhall

Consider using the Dhall configuration language as an alternative to the configuration language currently being used. There are a few places where it might be a good substitute for the current arrangement.

NDP.config
A more structured configuration file would be nice, also the current syntax is kind of icky.
Top level entity config.hs
The current ‘haskell subset that isn’t quite haskell’ arrangement is a little squicky at times.
Constraint files and ROM maps
more structure, better type checking would be nice. Somewhat less opaque errors would also be nice…

References

QA 76.9 C62 E72
Digital Arithmetic
QA 76.9 C62 P37
Computer Arithmetic: Algorithms and Hardware Designs
QA 76.9 C643 H46
Computer Organization and Design
QA 76.9 C643 S73
Computer Organization and Architecture

About

FPGA based computer inspired by the C128, PDP-11,Macintosh, and Lisp Machines

Resources

License

BSD-3-Clause, Unknown licenses found

Licenses found

BSD-3-Clause
LICENSE
Unknown
LICENSE.md

Stars

Watchers

Forks

Packages

No packages published