Skip to content

Commit 02bc19c

Browse files
committed
Add the --no-docker parameter, to use system tools instead
1 parent 8cfa689 commit 02bc19c

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ It relies on [Docker](https://docs.docker.com/get-docker) and [PyFPGA containers
1212
# Documentation
1313

1414
```
15-
usage: vhdl2vhdl [-h] [-v] [-g GENERIC VALUE] [-a ARCH] [-f FILENAME]
16-
[-o PATH] -t TOPNAME
15+
usage: vhdl2vhdl [-h] [-v] [--no-docker] [-g GENERIC VALUE] [-a ARCH]
16+
[-f FILENAME] [-o PATH] -t TOPNAME
1717
FILE[,LIBRARY] [FILE[,LIBRARY] ...]
1818
1919
VHDL to VHDL
@@ -24,6 +24,7 @@ positional arguments:
2424
optional arguments:
2525
-h, --help show this help message and exit
2626
-v, --version show program's version number and exit
27+
--no-docker do not use Docker (use system tools instead)
2728
-g GENERIC VALUE, --generic GENERIC VALUE
2829
specify a top-level Generic (can be specified multiple
2930
times)
@@ -36,8 +37,8 @@ optional arguments:
3637
```
3738

3839
```
39-
usage: vhdl2vlog [-h] [-v] [--backend TOOL] [-g GENERIC VALUE] [-a ARCH]
40-
[-f FILENAME] [-o PATH] -t TOPNAME
40+
usage: vhdl2vlog [-h] [-v] [--no-docker] [--backend TOOL] [-g GENERIC VALUE]
41+
[-a ARCH] [-f FILENAME] [-o PATH] -t TOPNAME
4142
FILE[,LIBRARY] [FILE[,LIBRARY] ...]
4243
4344
VHDL to Verilog
@@ -48,6 +49,7 @@ positional arguments:
4849
optional arguments:
4950
-h, --help show this help message and exit
5051
-v, --version show program's version number and exit
52+
--no-docker do not use Docker (use system tools instead)
5153
--backend TOOL backend tool [ghdl]
5254
-g GENERIC VALUE, --generic GENERIC VALUE
5355
specify a top-level Generic (can be specified multiple
@@ -61,7 +63,7 @@ optional arguments:
6163
```
6264

6365
```
64-
usage: slog2vlog [-h] [-v] [--frontend TOOL] [-p PARAM VALUE]
66+
usage: slog2vlog [-h] [-v] [--no-docker] [--frontend TOOL] [-p PARAM VALUE]
6567
[-d DEFINE VALUE] [-i PATH] [-f FILENAME] [-o PATH] -t
6668
TOPNAME
6769
FILE [FILE ...]
@@ -74,6 +76,7 @@ positional arguments:
7476
optional arguments:
7577
-h, --help show this help message and exit
7678
-v, --version show program's version number and exit
79+
--no-docker do not use Docker (use system tools instead)
7780
--frontend TOOL frontend tool [slang]
7881
-p PARAM VALUE, --param PARAM VALUE
7982
specify a top-level Parameter (can be specified

hdlconv/core.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ def get_args(src, dst):
5555
action='version',
5656
version=f'HDLconv {prog} - v{version}'
5757
)
58+
parser.add_argument(
59+
'--no-docker',
60+
action='store_true',
61+
help='do not use Docker (use system tools instead)'
62+
)
5863
if src == 'slog':
5964
parser.add_argument(
6065
'--frontend',
@@ -174,6 +179,7 @@ def get_data(src, dst, args):
174179
data.setdefault('files', []).append(file)
175180
data.setdefault('volumes', set()).add(Path('/') / file.parts[1])
176181
data['volumes'] = list(data['volumes'])
182+
data['docker'] = not args.no_docker
177183
return data
178184

179185

@@ -230,8 +236,9 @@ def run_tool(content, odir, filename):
230236

231237
def hdlconv(src, dst):
232238
"""HDL conversion entry-point"""
233-
check_docker()
234239
args = get_args(src, dst)
240+
if not args.no_docker:
241+
check_docker()
235242
if args.filename is None:
236243
args.filename = args.top.lower()
237244
args.filename += '.vhdl' if dst == 'vhdl' else '.v'

hdlconv/templates/docker.jinja

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1+
{% if docker %}
12
CONTAINER="ghcr.io/pyfpga/synthesis"
23
DOCKER="docker run --rm{% for volume in volumes %} -v {{ volume }}:{{ volume }}{% endfor %} -w $PWD --user $(id -u):$(id -g) $CONTAINER"
4+
{% endif %}

0 commit comments

Comments
 (0)