Git Product home page Git Product logo

fsm-simulation's Introduction

FSM-Simulation

get started

# install dependencies
$ npm install

# serve with hot reload at localhost:3080
$ npm run dev

# build for production
$ npm run build

For user account function, run the back-end server

FSM Storage

Overall structure of the dirs

FSM-Simulation
├── build   // store bundled files for porduction
├── logs.md     // some of the logs of configurating webpack
├── node_modules    // npm packages
├── package-lock.json   // lock the versions of those npm libs
├── package.json    // related configs of this project
├── public  // including js, css, img files
├── README.md
├── views   // html pages of this project
└── webpack.config.js   // webpack configs

Six html web pages (/views)

\views
├── design.html    // main page including design and code generator part
├── Instruction.html    // give the instruction of how to use this tool
├── Introduction.html    // introduction of FSM
├── login.html    // login page for account function
├── register.html    // register page for account function
└── simulator.html    // simulator page

/public/js

js
├── account    // contains account logics handlers
|  ├── accountInit.js    // init some of the functions related to account function
|  ├── data    // CRUD operations of fsm data, get, save, delete.
|  ├── interceptor.js    // do sth before http request and after the response
|  ├── session    // handle the login and register logics
|  └── verifyToken.js    // verify the token to update login status and some renders
├── dataHandler
|  ├── clearStateDiagram.js    // clear the whole state diagram and the parameters table
|  ├── createLineTable.js    // create the right hand side table related to each line
|  ├── dataHandler.js    // to export all the functions of dataHandler dir
|  ├── initStateDiagram.js    // draw a whole state diagram according to the fsm data
|  ├── syncParaTable.js    // synchronize the parameter setting table according to the fsm data
|  └── updateData.js    // update the fsm data in localStorage
├── design    // relevant logics in  design part
|  ├── btnClick    // handle the buttons click events in design part, such as add, delete...
|  ├── drag    // handle the geometric logics when dragging SVG elements
|  ├── elmOperation    // handle SVG elements operations like clicking, double clicking...
|  ├── index.js    // to initailize the functions in design part such as binding events, handling account
|  ├── parameterSetting    // logics about paramenter setting table
|  └── preset.js    // handle some small functions once start this project
├── extends    // to extends some peripheral functions
|  └── colorControl.js    // theme changing logics
├── HDL    // handle all the HDL code generator logics
|  ├── clickBind.js    // binding all the click events of buttons in code generator part
|  ├── generatorUtils    // some helpers when generating the HDL code
|  ├── index.js    // init function
|  ├── Verilog    // logics of generating Verilog
|  └── VHDL    // logics of generating VHDL
├── otherPreset    // for other peripheral functions
|  └── index.js
├── simulator    // simulator page logics (manipulate Canvas)
|  └── index.js
├── index.js    // init the while process, including design part, code generator, and account
├── globalParams.js    // global params used in this project
└── utils.js    // global helpers in this project

fsm-simulation's People

Contributors

s-elo avatar

Stargazers

 avatar

Watchers

 avatar

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.