-
Notifications
You must be signed in to change notification settings - Fork 155
Expand file tree
/
Copy pathCOMMANDS.txt
More file actions
1282 lines (836 loc) · 38.1 KB
/
COMMANDS.txt
File metadata and controls
1282 lines (836 loc) · 38.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
--------------------------------------------
apio
Usage: apio [OPTIONS] COMMAND [ARGS]...
WORK WITH FPGAs WITH EASE.
Apio is an easy to use and open-source command-line suite designed to
streamline FPGA programming. It supports a wide range of tasks,
including linting, building, simulation, unit testing, and programming
FPGA boards.
An Apio project consists of a directory containing a configuration
file named 'apio.ini', along with FPGA source files, testbenches, and
pin definition files.
Apio commands are intuitive and perform their intended functionalities
right out of the box. For example, the command apio upload
automatically compiles the design in the current directory and uploads
it to the FPGA board.
For detailed information about any Apio command, append the -h flag to
view its help text. For example:
apio build -h
apio drivers ftdi install -h
To check the apio version type:
apio --version
For the full Apio CLI documentation visit
https://fpgawars.github.io/apio/docs
Options:
-v, --version Show the version and exit.
-h, --help Show this message and exit.
Build commands:
apio build Synthesize the bitstream.
apio upload Upload the bitstream to the FPGA.
apio clean Delete the apio generated files.
Verification commands:
apio lint Lint the source code.
apio format Format verilog source files.
apio sim Simulate a testbench with graphic results.
apio test Test all or a single verilog testbench module.
apio report Report design utilization and timing.
apio graph Generate a visual graph of the code.
Setup commands:
apio create Create an apio.ini project file.
apio preferences Manage the apio user preferences.
apio packages Manage the apio packages.
apio drivers Manage the operating system drivers.
apio devices Scan attached devices.
Utility commands:
apio boards List available board definitions.
apio fpgas List available FPGA definitions.
apio examples List and fetch apio examples.
apio docs Show Apio documentation.
apio info Apio's info and info.
apio raw Execute commands directly from the Apio packages.
apio api Apio programmatic interface.
--------------------------------------------
apio api
Usage: apio api [OPTIONS] COMMAND [ARGS]...
The command group 'apio api' contains subcommands that that are
intended to be used by tools and programs such as icestudio, rather
than being used directly by users.
Options:
-h, --help Show this message and exit.
Subcommands:
apio api get-system Retrieve apio and system information.
apio api get-project Get project information.
apio api get-boards Retrieve boards information.
apio api get-fpgas Retrieve FPGAs information.
apio api get-programmers Retrieve programmers information.
apio api get-examples Retrieve examples information.
apio api get-commands Retrieve apio commands information.
apio api scan-devices Scan and report available devices.
apio api echo Print a message in given format.
--------------------------------------------
apio api echo
Usage: apio api echo [OPTIONS]
The command 'apio api echo' allows external programs such as the Apio
VS Code extension to print a short message in a format that is
consistent with that Apio theme that is currently selected in the user
preferences.
The required option '--style' should have one of these values: OK,
INFO, WARNING, ERROR, TITLE, EMPH1, EMPH2, or EMPH3. The style colors
can be viewed with the command 'apio info themes'.
Examples:
apio api echo -t "Hello world", -s "INFO"
apio api echo -t "Task completed successfully", -s "OK"
apio api echo -t "Task failed", -s "ERROR"
Options:
-t, --text MESSAGE Set message to echo. [required]
-s, --style STYLE Set style to use. [required]
-h, --help Show this message and exit.
--------------------------------------------
apio api get-boards
Usage: apio api get-boards [OPTIONS]
The command 'apio api get-boards' exports apio boards information as a
JSON document.
The optional flag '--timestamp' allows the caller to embed in the JSON
document a known timestamp that allows to verify that the JSON
document was indeed was generated by the same invocation.
Examples:
apio api get-boards # Write to stdout
apio api get-boards -o apio.json # Write to a file
Options:
-t, --timestamp text Set a user provided timestamp.
-o, --output file-name Set output file.
-f, --force Overwrite output file.
-h, --help Show this message and exit.
--------------------------------------------
apio api get-commands
Usage: apio api get-commands [OPTIONS]
The command 'apio api get-commands' exports apio command structure of
Apio as a JSON doc. This is used by various tools such as
documentation generators and tests.
The optional flag '--timestamp' allows the caller to embed in the JSON
document a known timestamp that allows to verify that the JSON
document was indeed was generated by the same invocation.
Examples:
apio api get-commands # Write to stdout
apio api get-commands -o apio.json # Write to a file
Options:
-t, --timestamp text Set a user provided timestamp.
-o, --output file-name Set output file.
-f, --force Overwrite output file.
-h, --help Show this message and exit.
--------------------------------------------
apio api get-examples
Usage: apio api get-examples [OPTIONS]
The command 'apio api get-examples' exports apio examples information
as a JSON document.
The optional flag '--timestamp' allows the caller to embed in the JSON
document a known timestamp that allows to verify that the JSON
document was indeed was generated by the same invocation.
Examples:
apio api get-examples # Write to stdout
apio api get-examples -o apio.json # Write to a file
Options:
-t, --timestamp text Set a user provided timestamp.
-o, --output file-name Set output file.
-f, --force Overwrite output file.
-h, --help Show this message and exit.
--------------------------------------------
apio api get-fpgas
Usage: apio api get-fpgas [OPTIONS]
The command 'apio api get-fpgas' exports apio FPGAss information as a
JSON document.
The optional flag '--timestamp' allows the caller to embed in the JSON
document a known timestamp that allows to verify that the JSON
document was indeed was generated by the same invocation.
Examples:
apio api get-fpgas # Write to stdout
apio api get-fpgas -o apio.json # Write to a file
Options:
-t, --timestamp text Set a user provided timestamp.
-o, --output file-name Set output file.
-f, --force Overwrite output file.
-h, --help Show this message and exit.
--------------------------------------------
apio api get-programmers
Usage: apio api get-programmers [OPTIONS]
The command 'apio api get-programmers' exports apio programmers
information as a JSON document.
The optional flag '--timestamp' allows the caller to embed in the JSON
document a known timestamp that allows to verify that the JSON
document was indeed was generated by the same invocation.
Examples:
apio api get-programmers # Write to stdout
apio api get-programmers -o apio.json # Write to a file
Options:
-t, --timestamp text Set a user provided timestamp.
-o, --output file-name Set output file.
-f, --force Overwrite output file.
-h, --help Show this message and exit.
--------------------------------------------
apio api get-project
Usage: apio api get-project [OPTIONS]
The command 'apio api get-project' exports information about an Apio
project as a JSON foc.
The optional flag '--timestamp' allows the caller to embed in the JSON
document a known timestamp that allows to verify that the JSON
document was indeed was generated by the same invocation.
Examples:
apio api get-project # Report default env
apio api get-project -e env1 # Report specified env
apio api get-project -p foo/bar # Project in another dir
apio api get-project -o apio.json # Write to a file
Options:
-e, --env name Set the apio.ini env.
-p, --project-dir path Set the root directory for the project.
-t, --timestamp text Set a user provided timestamp.
-o, --output file-name Set output file.
-f, --force Overwrite output file.
-h, --help Show this message and exit.
--------------------------------------------
apio api get-system
Usage: apio api get-system [OPTIONS]
The command 'apio api get-system' exports information about apio and
the underlying system as a JSON foc. It is similar to the command
'apio info system' which is intended for human consumption.
The optional flag '--timestamp' allows the caller to embed in the JSON
document a known timestamp that allows to verify that the JSON
document was indeed was generated by the same invocation.
Examples:
apio api get-system # Write to stdout
apio api get-system -o apio.json # Write to a file
Options:
-t, --timestamp text Set a user provided timestamp.
-o, --output file-name Set output file.
-f, --force Overwrite output file.
-h, --help Show this message and exit.
--------------------------------------------
apio api scan-devices
Usage: apio api scan-devices [OPTIONS]
The command 'apio api scan-devices' scans and report the available usb
and serial devices.
The optional flag '--timestamp' allows the caller to embed in the JSON
document a known timestamp that allows to verify that the JSON
document was indeed was generated by the same invocation.
Examples:
apio api scan-devices # Write to stdout
apio api scan-devices -o apio.json # Write to a file
Options:
-t, --timestamp text Set a user provided timestamp.
-o, --output file-name Set output file.
-f, --force Overwrite output file.
-h, --help Show this message and exit.
--------------------------------------------
apio boards
Usage: apio boards [OPTIONS]
The command 'apio boards' lists the FPGA boards recognized by Apio.
Custom boards can be defined by placing a custom 'boards.jsonc' file
in the project directory, which will override Apio’s default
'boards.jsonc' file.
Examples:
apio boards # List all boards
apio boards -v # List with extra columns
apio boards | grep ecp5 # Filter boards results
apio boards --docs # Generate a report for Apio docs
Options:
-v, --verbose Show detailed output.
-d, --docs Format for Apio Docs.
-p, --project-dir path Set the root directory for the project.
-h, --help Show this message and exit.
--------------------------------------------
apio build
Usage: apio build [OPTIONS]
The command 'apio build' processes the project’s synthesis source
files and generates a bitstream file, which can then be uploaded to
your FPGA.
Examples:
apio build # Typical usage
apio build -e debug # Set the apio.ini env.
apio build -v # Verbose info (all)
apio build --verbose-synth # Verbose synthesis info
apio build --verbose-pnr # Verbose place and route info
NOTES:
* The files are sorted in a deterministic lexicographic order.
* The top module in apio.ini using the 'top-module' option.
* The build command ignores testbench files (*_tb.v, and *_tb.sv).
* It is unnecessary to run 'apio build' before 'apio upload'.
* To force a rebuild from scratch use the command 'apio clean' first.
* The '--gui' option launches a Yosys's experimental diagnostics tool.
Options:
-e, --env name Set the apio.ini env.
-p, --project-dir path Set the root directory for the project.
-v, --verbose Show detailed output.
--verbose-synth Show detailed synth stage output.
--verbose-pnr Show detailed pnr stage output.
-g, --gui Launch experimental nextpnr GUI.
-h, --help Show this message and exit.
--------------------------------------------
apio clean
Usage: apio clean [OPTIONS]
The command 'apio clean' removes all the output files previously
generated by apio commands.
Example:
apio clean
Options:
-p, --project-dir path Set the root directory for the project.
-h, --help Show this message and exit.
--------------------------------------------
apio create
Usage: apio create [OPTIONS]
The command 'apio create' creates a new 'apio.ini' project file and is
typically used when setting up a new Apio project.
Examples:
apio create --board alhambra-ii
apio create --board alhambra-ii --top-module MyModule
[NOTE] This command only creates a new 'apio.ini' file, rather than a
complete and buildable project. To create complete projects, refer to
the 'apio examples' command.
Options:
-b, --board BOARD Set the board. [required]
-t, --top-module name Set the top level module name.
-p, --project-dir path Set the root directory for the project.
-h, --help Show this message and exit.
--------------------------------------------
apio devices
Usage: apio devices [OPTIONS] COMMAND [ARGS]...
The command group 'apio devices' includes subcommands that lists
devices that are attached to the computer. It's main usage is
diagnostics or devices connectivity and drivers.
Options:
-h, --help Show this message and exit.
Subcommands:
apio devices scan-usb Scan for USB devices.
apio devices scan-serial Scan for serial devices.
--------------------------------------------
apio devices scan-serial
Usage: apio devices scan-serial [OPTIONS]
The command 'apio devices scan-serial' scans and displays the serial
devicescurrently connected to your computer. It is useful for
diagnosing FPGA board connectivity issues.
Examples:
apio devices scan-serial # List the serial devices.
Note that devices such as FTDI FTDI2232 that have more than one
channel are listed as multiple rows, one for each of their serial
ports.
On Windows, manufacturer and product strings of FTDI based devices may
show their FTDI generic values rather than the custom values such such
as 'Alhambra II' set by the device manufacturer.
Options:
-h, --help Show this message and exit.
--------------------------------------------
apio devices scan-usb
Usage: apio devices scan-usb [OPTIONS]
The command 'apio devices scan-usb' scans and display the USB devices
currently connected to your computer. It is useful for diagnosing FPGA
board connectivity issues.
Examples:
apio devices scan-usb # List the usb devices.
Options:
-h, --help Show this message and exit.
--------------------------------------------
apio docs
Usage: apio docs [OPTIONS]
The command 'apio docs' opens the Apio documentation using the user's
default browser.
Examples:
apio docs # Open the apio docs.
apio docs --commands # Land on the commands list page.
Options:
-c, --commands Show the commands page.
-h, --help Show this message and exit.
--------------------------------------------
apio drivers
Usage: apio drivers [OPTIONS] COMMAND [ARGS]...
The command group 'apio drivers' contains subcommands to manage the
drivers on your system.
Options:
-h, --help Show this message and exit.
Subcommands:
apio drivers install Install drivers.
apio drivers uninstall Uninstall drivers.
--------------------------------------------
apio drivers install
Usage: apio drivers install [OPTIONS] COMMAND [ARGS]...
The command group 'apio drivers install' includes subcommands that
that install system drivers that are used to upload designs to FPGA
boards.
Options:
-h, --help Show this message and exit.
Subcommands:
apio drivers install ftdi Install the ftdi drivers.
apio drivers install serial Install the serial drivers.
--------------------------------------------
apio drivers install ftdi
Usage: apio drivers install ftdi [OPTIONS]
The command 'apio drivers install ftdi' installs on your system the
FTDI drivers required by some FPGA boards.
Examples:
apio drivers install ftdi # Install the ftdi drivers.
Options:
-h, --help Show this message and exit.
--------------------------------------------
apio drivers install serial
Usage: apio drivers install serial [OPTIONS]
The command 'apio drivers install serial' installs the necessary
serial drivers on your system, as required by certain FPGA boards.
Examples:
apio drivers install serial # Install the serial drivers.
Options:
-h, --help Show this message and exit.
--------------------------------------------
apio drivers uninstall
Usage: apio drivers uninstall [OPTIONS] COMMAND [ARGS]...
The command group 'apio drivers uninstall' includes subcommands that
that uninstall system drivers that are used to upload designs to FPGA
boards.
Options:
-h, --help Show this message and exit.
Subcommands:
apio drivers uninstall ftdi Uninstall the ftdi drivers.
apio drivers uninstall serial Uninstall the serial drivers.
--------------------------------------------
apio drivers uninstall ftdi
Usage: apio drivers uninstall ftdi [OPTIONS]
The command 'apio drivers uninstall ftdi' removes the FTDI drivers
that may have been installed earlier.
Examples:
apio drivers uninstall ftdi # Uninstall the ftdi drivers.
Options:
-h, --help Show this message and exit.
--------------------------------------------
apio drivers uninstall serial
Usage: apio drivers uninstall serial [OPTIONS]
The command 'apio drivers uninstall serial' removes the serial drivers
that you may have installed earlier.
Examples:
apio drivers uninstall serial # Uninstall the serial drivers.
Options:
-h, --help Show this message and exit.
--------------------------------------------
apio examples
Usage: apio examples [OPTIONS] COMMAND [ARGS]...
The command group 'apio examples' provides subcommands for listing and
fetching Apio provided examples. Each example is a self contained mini
project that can be built and uploaded to an FPGA board.
Options:
-h, --help Show this message and exit.
Subcommands:
apio examples list List the available apio examples.
apio examples fetch Fetch the files of an example.
--------------------------------------------
apio examples fetch
Usage: apio examples fetch [OPTIONS] EXAMPLE
The command 'apio examples fetch' fetches a single examples or all the
examples of a board. The destination directory is either the current
directory or the directory specified with '--dst' and it should be
empty and non existing.
Examples:
apio examples fetch alhambra-ii/ledon # Single example
apio examples fetch alhambra-ii # All board's examples
apio examples fetch alhambra-ii -d work # Explicit destination
Options:
-d, --dst path Set a different destination directory.
-h, --help Show this message and exit.
--------------------------------------------
apio examples list
Usage: apio examples list [OPTIONS]
The command 'apio examples list' lists the available Apio project
examples that you can use.
Examples:
apio examples list # List all examples
apio examples list -v # More verbose output.
apio examples list | grep alhambra-ii # Show alhambra-ii examples.
apio examples list | grep -i blink # Show blinking examples.
apio examples list --docs # Use Apio docs format.
Options:
-d, --docs Format for Apio Docs.
-v, --verbose Show detailed output.
-h, --help Show this message and exit.
--------------------------------------------
apio format
Usage: apio format [OPTIONS] [FILES]...
The command 'apio format' formats the project's source files to ensure
consistency and style without altering their semantics. The command
accepts the names of specific source files to format or formats all
project source files by default.
Examples:
apio format # Format all source files.
apio format -v # Same but with verbose output.
apio format main.v main_tb.v # Format the two files.
[NOTE] The file arguments are relative to the project directory, even
if the --project-dir option is used.
The format command utilizes the format tool from the Verible project,
which can be configured by setting its flags in the apio.ini project
file For example:
format-verible-options =
--column_limit=80
--indentation_spaces=4
If needed, sections of source code can be protected from formatting
using Verible formatter directives:
// verilog_format: off
... untouched code ...
// verilog_format: on
For a full list of Verible formatter flags, refer to the documentation
page online or use the command 'apio raw -- verible-verilog-format
--helpfull'.
Options:
-e, --env name Set the apio.ini env.
-p, --project-dir path Set the root directory for the project.
-v, --verbose Show detailed output.
-h, --help Show this message and exit.
--------------------------------------------
apio fpgas
Usage: apio fpgas [OPTIONS]
The command 'apio fpgas' lists the FPGAs recognized by Apio. Custom
FPGAs supported by the underlying Yosys toolchain can be defined by
placing a custom 'fpgas.jsonc' file in the project directory,
overriding Apio’s standard 'fpgas.jsonc' file.
Examples:
apio fpgas # List all fpgas
apio fpgas -v # List with extra columns
apio fpgas | grep gowin # Filter FPGA results
apio fpgas --docs # Generate a report for Apio docs
Options:
-v, --verbose Show detailed output.
-d, --docs Format for Apio Docs.
-p, --project-dir path Set the root directory for the project.
-h, --help Show this message and exit.
--------------------------------------------
apio graph
Usage: apio graph [OPTIONS]
The command 'apio graph' generates a graphical representation of the
design and then opens it in a graphical viewer.
Examples:
apio graph # Generate a svg file (default).
apio graph --no-viewer # Suppress the graphical viewer.
apio graph --svg # Generate a svg file.
apio graph --pdf # Generate a pdf file.
apio graph --png # Generate a png file.
apio graph -t my_module # Graph my_module module.
[Hint] On Windows, type 'explorer _build/default/graph.svg' to view
the graph, and on Mac OS type 'open _build/default/graph.svg' (if your
env is different than 'default' change the commands accordingly).
Options:
--svg Generate a svg file (default).
--png Generate a png file.
--pdf Generate a pdf file.
-e, --env name Set the apio.ini env.
-p, --project-dir path Set the root directory for the project.
-t, --top-module name Set the name of the top module to graph.
-n, --no-viewer Do not open graph viewer.
-v, --verbose Show detailed output.
-h, --help Show this message and exit.
--------------------------------------------
apio info
Usage: apio info [OPTIONS] COMMAND [ARGS]...
The command group 'apio info' contains subcommands that provide
additional information about Apio and your system.
Options:
-h, --help Show this message and exit.
Subcommands:
apio info system Show system information.
apio info platforms Supported platforms.
apio info colors Colors table.
apio info themes Show apio themes.
apio info commands Show apio commands.
--------------------------------------------
apio info colors
Usage: apio info colors [OPTIONS]
The command 'apio info colors' shows how ansi colors are rendered on
the platform, and is typically used to diagnose color related issues.
The command shows the themes colors even if the current theme is
'no-colors'.
Examples:
apio info colors # Rich library output (default)
apio inf col -p # Using shortcuts.
Options:
-h, --help Show this message and exit.
--------------------------------------------
apio info commands
Usage: apio info commands [OPTIONS]
The command 'apio info commands' lists the the available apio commands
in a table format. If the option '--docs' is specified, the command
outputs the list as a markdown document that is used to automatically
update the Apio documentation.
Examples:
apio info commands
apio info commands --docs > docs/commands-list.md
Options:
-d, --docs Format for Apio Docs.
-h, --help Show this message and exit.
--------------------------------------------
apio info platforms
Usage: apio info platforms [OPTIONS]
The command 'apio info platforms' lists the platform IDs supported by
Apio, with the effective platform ID of your system highlighted.
Examples:
apio info platforms # List supported platform ids.
The automatic platform ID detection of Apio can be overridden by
defining a different platform ID using the APIO_PLATFORM environment
variable.
Options:
-h, --help Show this message and exit.
--------------------------------------------
apio info system
Usage: apio info system [OPTIONS]
The command 'apio info system' provides general information about your
system and Apio CLI installation, which is useful for diagnosing Apio
CLI installation issues.
Examples:
apio info system # System info.
[NOTE] For programmatic access to this information use 'apio api
get-system'.
[ADVANCED] The default location of the Apio CLI home directory, where
apio saves preferences and packages, is in the '.apio' directory under
the user home directory but can be changed using the system
environment variable 'APIO_HOME'.
Options:
-h, --help Show this message and exit.
--------------------------------------------
apio info themes
Usage: apio info themes [OPTIONS]
The command 'apio info themes' shows the colors of the Apio themes. It
can be used to select the theme that works the best for you. Type
'apio preferences -h' for information on our to select a theme.
The command shows colors even if the current theme is 'no-colors'.
Examples:
apio info themes # Show themes colors
apio inf col -p # Using shortcuts.
Options:
-h, --help Show this message and exit.
--------------------------------------------
apio lint
Usage: apio lint [OPTIONS] [FILES]...
The command 'apio lint' scans the project's source files and reports
errors, inconsistencies, and style violations. The command uses the
Verilator tool, which is included with the standard Apio installation.
If specified files are not specified, the top module of the project
and its dependencies are linted.
Examples:
apio lint
apio lint -t my_module
apio lint file1.v file2.v
apio lint --all
apio lint --nosynth
apio lint --novlt
By default, 'apio lint' injects the 'SYNTHESIS' macro to lint the
synthesizable portion of the design. To lint code that is hidden by
'SYNTHESIS', use the '--nosynth' option.
To customize the behavior of the 'verilator' linter, add the option
'verilator-extra-option' in the project file 'apio.ini' with the extra
options you would like to use.
Options:
--nosynth Do not define the SYNTHESIS macro.
--novlt Disable warning suppression .vlt file.
-t, --top-module name Restrict linting to this module and its
dependencies.
-e, --env name Set the apio.ini env.
-p, --project-dir path Set the root directory for the project.
-h, --help Show this message and exit.
--------------------------------------------
apio packages
Usage: apio packages [OPTIONS] COMMAND [ARGS]...
The command group 'apio packages' provides commands to manage the
installation of Apio packages. These are not Python packages but Apio
packages containing various tools and data essential for the operation
of Apio.
The list of available packages depends on the operating system you are
using and may vary between different operating systems.
Options:
-h, --help Show this message and exit.