https://github.com/algosup/2024-2025-project-4-web-fpga-team-6
https://github.com/algosup/2024-2025-project-4-web-fpga-team-6
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/algosup/2024-2025-project-4-web-fpga-team-6
- Owner: algosup
- Created: 2025-02-18T16:13:12.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-03-31T12:47:12.000Z (about 1 month ago)
- Last Synced: 2025-03-31T13:53:26.497Z (about 1 month ago)
- Language: TypeScript
- Size: 1.3 MB
- Stars: 5
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Team 6 - FPGA Visualization Platform
A web-based platform for visualizing FPGA (Field-Programmable Gate Array) applications, designed for educational purposes. This application provides interfaces for both students and teachers.
## Features
### Student Interface
- 2D visualization of BELs (Basic Element Logics) inside the FPGA
- View routes used by each signal
- Navigate (zoom, move) inside the 2D view
- Run simulations at different speeds (x1, x2, x4, x8)
- Step-by-step execution
- Pause and resume functionality
- Authentication system with student role### Teacher Interface
- Upload Verilog applications
- Provide testbenches
- Generate visualization data
- Manage preloaded applications
- Authentication system with teacher role## Getting Started
### Prerequisites
- Node.js (v14 or later)
- npm (v6 or later)This project was generated with [Angular CLI](https://github.com/angular/angular-cli).
### Installation
1. Clone the repository
```bash
git clone https://github.com/your-username/2024-2025-project-4-web-fpga-team-6.git
```2. Go to the project directory
```bash
cd FPGAWeb
```3. Install dependencies
```bash
npm install
```4. Start the development server
```bash
npm start
# or
ng serve
```5. Access the interface
Open your browser and navigate to `http://localhost:4200`6. Parse post-synthesis data
```bash
npm run parse
```
A JSON file is generated from the .sdf and the .v file in the `public/` directory.## Usage
### Student Interface
1. From the home page, select "Student Interface"
2. Choose an example application from the sidebar
3. Use the control buttons to play, pause, step, or adjust the simulation speed
4. Navigate the FPGA visualization using mouse controls### Teacher Interface
1. From the home page, select "Teacher Interface"
2. Upload new Verilog applications and testbenches using the form
3. Manage existing applications## Technologies Used
- Angular
- TypeScript
- Angular Router
- Tailwind CSS## Project Structure
- `FPGAWeb/`: Angular application
- `src/`: Source code
- `app/`: Angular components and modules
- `assets/`: Static assets like images
- `parser.ts`: Utility for parsing Verilog files
- `public/`: Public assets
- `verilog_post_synthesis_examples/`: Example Verilog files
- `schematics/`: Generated JSON schematics## Team 6 involves few coworkers, handling different roles:
| Role | Name | Picture |
| ----------------- | --------------- | -------------------------------------------------------------------------------------------------------------------- |
| Project Manager | Manech LAGUENS | [](https://github.com/Manech-Laguens) |
| Program Manager | Elon DELLILE | [](https://github.com/HiNett) |
| Technical Leader | Axel DAVID | [](https://github.com/Fus1onAxel) |
| Software Engineer | Thomas PLANCHAD | [](https://github.com/thomas-planchard) |
| Software Engineer | Evan UHRING | [](https://github.com/Evan-UHRING) |
| Quality Assurance | Rémy Charles | [](https://github.com/RemyCHARLES) |
| Technical Writer | Benoît de Keyn | [](https://github.com/benoitdekeyn) |
[Here](https://github.com/algosup/2024-2025-project-4-web-fpga-team-6/graphs/contributors) are their contributions to the project!
## License
This project is licensed under the MIT License - see the LICENSE file for details.