Giter Club home page Giter Club logo

discrete-nor-logic-clock's People

Contributors

meisl avatar tomayoola avatar tomstorey avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

meisl

discrete-nor-logic-clock's Issues

Simulate/verify designs - alternative to logic.ly?

I have optimized the 7-seg decoders following this workflow:

  • make a spreadsheet with a truth table which is automatically transformed into
    • visual representations of the displays for all input combinations, all visible at once
    • a K-map for each output bit
  • with the K-maps, find minimal NOR-expressions (will describe how elsewhere)
  • click together the corresponding circuit in the free online version of logic.ly, test it, and re-iterate if necessary
  • make screenshots

Now my questions are:

  1. Are you OK with OpenOffice, and with keeping the spreadsheets in the repo?
  2. logic.ly is nice for quickly trying out small things, and has nice visuals. However, to be honest, I don't think it's worth its current price. Particularly it cannot (AFAIK)
    a) automate the verification
    b) be used with a textual representation of the design, which, in turn, would enable true working-together on designs (including using the benefits of git)
    What else can be used?

As for 2) I am envisioning a text file that describes a particular circuit. This text can be written by hand or produced from formulas in a spreadsheet. It can also be interpreted, or evaluated to produce a mapping from input combinations to output combinations. This evaluation would ideally be possible within a spreadsheet.

Well, I've been thinking of (and already working on) writing my own - it's all Booleans anyways, right? You might already have spotted those "µ A -B C -D" labels in my screenshots.
My short-list of implementation languages was

  • javascript: runs in browser, functional (good for writing a parser), TDD support
  • Perl6: very well suited for a parser, TDD support
  • OpenOffice Basic: can be used in spreadsheets

Well, I went with the third option because I really want to use it in the spreadsheets. ...And I kind of regret it now. There ought to be a way to use javascript for OpenOffice macros but I just couldn't get it to work, it's (Java) package-hell.
The thing is that you really need a parser so you can use mentioned concise lambda-like expression rather than a notation like "NOR(...)"; in addition you need to be able to define intermediate signals (ie. introduce shortcuts/abbreviations). I'm convinced that without that anything beyond trivial becomes unwieldy.

Now, BASIC is really, REALLY bad! But hey, that's kinda in the spirit - "from grounds up"... Additionlly, I seem to have gone in a particularly unfortunate direction with my implementation, ie unsuited for BASIC. I'll try to push it further a little bit more but I might have to start over.

What do you think?

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.