1 # ================================== Steps to add peripherals ============
2 # Step-1: create interface declaration for the peripheral to be added.
3 # Remember these are interfaces defined for the pinmux and hence
4 # will be opposite to those defined at the peripheral.
5 # For eg. the output TX from the UART will be input (method Action)
7 # These changes will have to be done in interface_decl.py
8 # Step-2 define the wires that will be required to transfer data from the
9 # peripheral interface to the IO cell and vice-versa. Create a
10 # mkDWire for each input/output between the peripheral and the
11 # pinmux. Also create an implicit wire of GenericIOType for each cell
12 # that can be connected to a each bit from the peripheral.
13 # These changes will have to be done in wire_def.py
14 # Step-3: create the definitions for each of the methods defined above.
15 # These changes will have to be done in interface_decl.py
16 # ========================================================================
18 # default module imports
23 from bsv
.pinmux_generator
import pinmuxgen
as bsvgen
26 print ('''pinmux_generator.py [-o outputdir] [-v|--validate] [-h|--help]
28 -t | outputtype : outputtype, defaults to bsv
29 -o outputdir : defaults to bsv_src. also location for reading pinmux.txt
30 interfaces.txt and *.txt
31 -v | --validate : runs some validation on the pinmux
32 -h | --help : this help message
36 if __name__
== '__main__':
38 options
, remainder
= getopt
.getopt(
47 except getopt
.GetoptError
as err
:
48 print "ERROR: %s" % str(err
)
55 for opt
, arg
in options
:
56 if opt
in ('-o', '--output'):
58 elif opt
in ('-t', '--outputtype'):
60 elif opt
in ('-v', '--validate'):
62 elif opt
in ('-h', '--help'):
66 gentypes
= {'bsv': bsvgen
}
67 if not gentypes
.has_key(output_type
):
68 print "ERROR: output type '%s' does not exist" % output_type
71 gentypes
[output_type
](output_dir
, validate
)