Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fetch upstream changes #3

Open
wants to merge 39 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
0d61b68
Bump dependencies and version number.
tilk Feb 8, 2021
347e5cf
Remove graph transformations
tilk Jul 20, 2021
00722fc
Fix examples
tilk Aug 17, 2021
8e688f2
Towards porting yosys2digitaljs to TypeScript
tilk Aug 19, 2021
1162c14
More types added.
tilk Aug 19, 2021
c4ef642
Add linting via Verilator
tilk Aug 20, 2021
7a838a1
Minor fixes
tilk Aug 20, 2021
970ad06
Bump version number
tilk Aug 20, 2021
6bc949e
Towards Yosys 0.10 support.
tilk Oct 1, 2021
8f89a34
Added support for new DFF cells in Yosys 0.10
tilk Oct 2, 2021
c5dffb5
Towards adding $mem_v2 support
tilk Oct 3, 2021
bb1d8cd
Add support for $sr, $dffsr and $dffsre
tilk Oct 4, 2021
f60a89e
Add missing ChangeLog entries
tilk Oct 4, 2021
1b15196
Support for source code positions
tilk Oct 4, 2021
7b31746
Support for `$mem_v2`
tilk Oct 4, 2021
7b517c7
More support for `$mem_v2`
tilk Oct 5, 2021
38c43f9
Fix issue with Yosys 0.10 output
tilk Oct 5, 2021
ef0053b
Source positions for connectors
tilk Oct 5, 2021
6e3dca0
Update dependencies.
tilk Oct 6, 2021
7b25126
Bump version number.
tilk Oct 6, 2021
d6c61e9
Add support for new Yosys 0.11 cells
tilk Dec 22, 2021
e8180f7
Export a yosys2digitaljs function to do the full conversion
yuyichao Jan 17, 2022
86f98ac
Merge pull request #6 from yuyichao/export
tilk Jan 28, 2022
d4e3da6
Split options type, add options to all API funs
tilk Jan 29, 2022
dda00e5
Update ChangeLog and README
tilk Jan 29, 2022
6287d4f
Remove Travis
tilk Jan 29, 2022
b40e24c
Bump version number
tilk Feb 2, 2022
0499708
Fix RAM test module name
yuyichao Feb 10, 2022
b978704
Change yosys link to actual repository
Engineer-of-Efficiency Mar 1, 2022
9167d76
Add test on PR, change node versions on CI (#11)
tilk Aug 10, 2022
500a17e
Add LUT to memory cell mapping (#13)
DanielleHuisman Sep 19, 2022
1b4afea
Add 7 segment display device type. (#14)
mateusz-sz Oct 24, 2022
69a7d11
Bump deps and version number
tilk Mar 23, 2023
a217e59
Fix workflow
tilk Mar 23, 2023
3c1ad44
add support for high impedance state 'bZ (#15)
peppergrayxyz Jan 19, 2024
79f9704
Workaround for new versions of Yosys
tilk Aug 4, 2023
956f443
Handle SystemVerilog
tilk Jan 19, 2024
b850fbd
Add `timeout` for better protection
tilk Jan 19, 2024
e5991f3
Bump version number
tilk Jan 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Node.js CI

on: [push]
on: [push, pull_request]

jobs:
build:
Expand All @@ -9,7 +9,7 @@ jobs:

strategy:
matrix:
node-version: [8.x, 10.x, 12.x]
node-version: [18.x]

steps:
- uses: actions/checkout@v2
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
/node_modules
/dist
*.swp
*.swo
8 changes: 0 additions & 8 deletions .travis.yml

This file was deleted.

40 changes: 40 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Changelog
All notable changes to this project will be documented in this file.

## [0.7.0] -- 2023-03-2023

### Added

- Support for `$lut` cells
- Support for generating 7-segment display outputs

## [0.6.0] -- 2022-02-02

### Added

- Support for Yosys 0.11 cells `$aldff`, `$aldffe`
- Added a function `yosys2digitaljs` for converting a Yosys JSON output obtained elsewhere, without running Yosys locally

## [0.5.0] -- 2021-10-06

### Added

- Support for Yosys 0.10 cells `$adffe`, `$sdff`, `$sdffe`, `$sdffce`, `$adlatch`, `$sr`, `$dffsr`, `$dffsre`
- Support for Yosys 0.10 improved memory cell `$mem_v2`
- Support for source code positions

### Changed

- Support for JSON output generated by Yosys 0.10

## [0.4.0] -- 2021-08-20

### Added

- Linting via Verilator

### Changed

- Ported to TypeScript
- Removed ad-hoc transformations, as they are now performed in DigitalJS

14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
[![Build Status](https://travis-ci.org/tilk/yosys2digitaljs.svg?branch=master)](https://travis-ci.org/tilk/yosys2digitaljs)
# yosys2digitaljs
This program converts JSON netlist output generated by [Yosys](http://www.clifford.at/yosys/)
circuit synthesis software for use with the
This program converts JSON netlist output generated by [Yosys](https://yosyshq.net/yosys/)
circuit synthesis software (Github repo [here](https://github.com/YosysHQ/yosys/)) for use with the
[DigitalJS](http://github.com/tilk/digitaljs) graphical circuit simulator.

# Usage
You need to have [Yosys](http://www.clifford.at/yosys/) installed to run
You need to have [Yosys](https://yosyshq.net/yosys/) installed to run
yosys2digitaljs. For example, in Debian/Ubuntu, run:
```bash
apt install yosys
Expand All @@ -25,9 +24,10 @@ The generated JSON is printed on standard output.
# API
Yosys2digitaljs can be used as a library. The API is promise (or async/await) based. Available functions are:

- `process_sv(sv_text)` - converts a single SystemVerilog source passed as a string.
- `process_files(texts)` - converts multiple Verilog/SystemVerilog sources. The `texts` parameter is an object, with keys being file names, and corresponding values containing the file contents as strings. Example: `{ 'test.sv': 'module test; ...' }`.
- `process(filenames, dirname)` - converts Verilog/SystemVerilog sources saved on the filesystem under names `filenames` in the directory `dirname`.
- `yosys2digitaljs(json, options)` - converts the Yosys JSON output `json` (passed as an JS object) to a DigitalJS representation of the same circuit.
- `process_sv(sv_text, options)` - converts a single SystemVerilog source passed as a string.
- `process_files(texts, options)` - converts multiple Verilog/SystemVerilog sources. The `texts` parameter is an object, with keys being file names, and corresponding values containing the file contents as strings. Example: `{ 'test.sv': 'module test; ...' }`.
- `process(filenames, dirname, options)` - converts Verilog/SystemVerilog sources saved on the filesystem under names `filenames` in the directory `dirname`.

The functions return a promise, which fulfills with an object value with following keys:

Expand Down
Loading