From 4843b92a5004e472580049ee49d26ac6bbb1871e Mon Sep 17 00:00:00 2001 From: rishucoding Date: Mon, 25 Nov 2019 15:26:36 +0530 Subject: [PATCH] adding documentation for generating pimux.bsv --- README.md | 90 ++++++++++++++++++++++--------- README_old.md | 39 ++++++++++++++ figure/ordered.png | Bin 0 -> 31877 bytes figure/sample_pinmap.jpg | Bin 0 -> 114658 bytes src/spec/minitest.py | 86 +++++++++++++---------------- src/spec/minitest_old.py | 114 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 253 insertions(+), 76 deletions(-) create mode 100644 README_old.md create mode 100644 figure/ordered.png create mode 100644 figure/sample_pinmap.jpg create mode 100644 src/spec/minitest_old.py diff --git a/README.md b/README.md index c907668..75a2053 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,77 @@ -# PinMux Tool +* Existing pinmux.bsv for testing purpose: +``` +cd src/test_bsv +make +``` -This tools currently generates a BSV code which implements the pin-muxing logic between peripheral ports. +* Pinmux generator help: +``` +python src/pinmux_generator.py -h +``` -Currently the code supports the following peripherals: -1. UART (simple RX/TX type) -2. SPI (single spi) +* To create a microtest directory and bsv files: +``` +python src/pinmux_generator.py -v -o microtest -s microtest +python src/pinmux_generator.py -v -o microtest +``` -#### TODO: -1. Add more peripheral definitions (only IO information required). -2. Fix a template to specify the user-defined muxing. -3. Provide support for dedicated pins. -4. Provide scheme to prevent short-circuit when inputs are mapped to multiple IOs. +* To create a minitest directory and bsv files: +``` +python src/pinmux_generator.py -v -o minitest -s minitest +python src/pinmux_generator.py -v -o minitest +``` +* Existing specifications in 'src/spec/' : m_class, i_class, c_class, microtest, minitest -## REQUIREMENTS: - 1. Python2 to generate BSV code. - 2. BSV compiler to generate verilog code from BSV code. +* Testing pinmux using cocotb: +``` +cd src/test_bsv/tests +``` +--- -## Quick Start +### Steps to generate **custom pinmux.bsv** : +1 . Let's say that the pinmap which we wish to implement is : +![sample_pinmap](./figure/sample_pinmap.jpg) -Set parameters such as number of UARTs, SPIs, IO Cells, etc. in the file src/params.py . +The default order for UART and SPI with pinmux repository is : +``` + * UART : tx -> rx +``` +``` + * MSPI: ck -> nss -> io0 -> io1 +``` +After generating minitest, this order can be observed in uart.txt, mspi.txt, etc. - $ make gen_pinmux +2 . We will rearrange the order of pins of our pinmap to confine to default order : +After reordering, it will look like: +![correct_order](./figure/ordered.png) -The above command will generate the bsv code (bsv_src/pinmux.bsv). This bsv code implements the pin-muxing logic as specified by the user (currently the pin-muxing logic is not implemented completely) +3. How to specify this table to generate pinmux.bsv? +In pinmux repository, we write the specifications in 'src/spec' directory, like default minitest.py. +For this case, we will simply modify original minitest.py to suit our table. + * We have only one bank here with 16 rows. So : 'A' : (16,4) in pinbanks. + * In function names, keep only the one which are present in table and update the id as per table. + * Specifying entry in the table: + 1) ps.gpio("" , ('A', 12) , 0 , 7 , 2 ) + There are 5 arguments passed. 2nd argument specifies bank and pin number. 3rd entry specifies the mux select line (which column?). 4th entry specifies the GPIO id. 5th entry specifies the collection of entries. Here, this will reflect to (GPIOA A7) at pin number 12, and (GPIOA A8) at pin number 13. + + 2) ps.mspi("2", ('A', 7), 1) + There are 4 arguments passed. 1st argument specifies the id of MSPI. 2nd argument specifies the bank and pin number. 3rd argument specifies the mux selection line. Here this will reflect as: + pin number mux1 + 7 A MSPI2 CK + 8 A MSPI2 NSS + 9 A MSPI2 IO0 + 10 A MSPI2 IO1 + + 3) ps.uart(" 3 ", ( 'A', 2 ) , 1 ) + Here, argument meaning is same as (2) + + 4) ps.pwm("" , ('A', 10) , 2 , 5 , 1 ) + Here, argument meaning is same as (1) - $ make gen_verilog -The above command can be used to generate the verilog from the bsv file. It requires the presence of a BSV compiler. (see:[Bluespec](https://www.bluespec.com)) + +The complete python file for this table is : src/spec/minitest.py . +Original minitest: src/spec/minitest_old.py - $make -The above command will execute both: gen_pinmux and gen_verilog . -## Steps to Add peripheral interfaces to PinMux - -1. Create interface declaration for the peripheral to be added. Remember these are interfaces defined for the pinmux and hence will be opposite to those defined at the peripheral. For eg. the output TX from the UART will be input (method Action) for the pinmux. These changes will have to be done in src/interface_decl.py -2. Define the wires that will be required to transfer data from the peripheral interface to the IO cell and vice-versa. Create a mkDWire for each input/output between the the peripheral and the pinmux. Also create an implicit wire of GenericIOType for each cell that can be connected to a each bit from the peripheral. These changes will have to be done in src/wire_def.py -3. Create the definitions for each of the methods defined in Step-1. Use the wires from Step-2 to transfer data to/from each method. These changes will have to be done in src/interface_decl.py diff --git a/README_old.md b/README_old.md new file mode 100644 index 0000000..c907668 --- /dev/null +++ b/README_old.md @@ -0,0 +1,39 @@ +# PinMux Tool + +This tools currently generates a BSV code which implements the pin-muxing logic between peripheral ports. + +Currently the code supports the following peripherals: +1. UART (simple RX/TX type) +2. SPI (single spi) + +#### TODO: +1. Add more peripheral definitions (only IO information required). +2. Fix a template to specify the user-defined muxing. +3. Provide support for dedicated pins. +4. Provide scheme to prevent short-circuit when inputs are mapped to multiple IOs. + + +## REQUIREMENTS: + 1. Python2 to generate BSV code. + 2. BSV compiler to generate verilog code from BSV code. + +## Quick Start + +Set parameters such as number of UARTs, SPIs, IO Cells, etc. in the file src/params.py . + + $ make gen_pinmux + +The above command will generate the bsv code (bsv_src/pinmux.bsv). This bsv code implements the pin-muxing logic as specified by the user (currently the pin-muxing logic is not implemented completely) + + $ make gen_verilog +The above command can be used to generate the verilog from the bsv file. It requires the presence of a BSV compiler. (see:[Bluespec](https://www.bluespec.com)) + + + $make +The above command will execute both: gen_pinmux and gen_verilog . + +## Steps to Add peripheral interfaces to PinMux + +1. Create interface declaration for the peripheral to be added. Remember these are interfaces defined for the pinmux and hence will be opposite to those defined at the peripheral. For eg. the output TX from the UART will be input (method Action) for the pinmux. These changes will have to be done in src/interface_decl.py +2. Define the wires that will be required to transfer data from the peripheral interface to the IO cell and vice-versa. Create a mkDWire for each input/output between the the peripheral and the pinmux. Also create an implicit wire of GenericIOType for each cell that can be connected to a each bit from the peripheral. These changes will have to be done in src/wire_def.py +3. Create the definitions for each of the methods defined in Step-1. Use the wires from Step-2 to transfer data to/from each method. These changes will have to be done in src/interface_decl.py diff --git a/figure/ordered.png b/figure/ordered.png new file mode 100644 index 0000000000000000000000000000000000000000..64f29fb2cf2103e5ab23e18fba82eff522c310d9 GIT binary patch literal 31877 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 literal 0 HcmV?d00001 diff --git a/src/spec/minitest.py b/src/spec/minitest.py index a30fa50..a9d8a09 100644 --- a/src/spec/minitest.py +++ b/src/spec/minitest.py @@ -1,5 +1,5 @@ #!/usr/bin/env python - +# aardonyx file from spec.base import PinSpec from spec.ifaceprint import display, display_fns, check_functions @@ -8,8 +8,7 @@ from spec.ifaceprint import display_fixed def pinspec(): pinbanks = { - 'A': (28, 4), - 'B': (4, 1), + 'A': (16, 4), } fixedpins = { 'CTRL_SYS': [ @@ -31,58 +30,45 @@ def pinspec(): 'VDD_GPIOB', 'GND_GPIOB', ]} - function_names = {'EINT': 'External Interrupt', - 'FB': 'MC68k FlexBus', - 'IIS': 'I2S Audio', - 'JTAG': 'JTAG (JTAG_SEL=HI/LO)', - 'LCD': '24-pin RGB/TTL LCD', - 'RG': 'RGMII Ethernet', - 'MMC': 'eMMC 1/2/4/8 pin', + function_names = { 'PWM': 'PWM (pulse-width modulation)', - 'SD0': 'SD/MMC 0', - 'SD1': 'SD/MMC 1', - 'SD2': 'SD/MMC 2', - 'MSPI0': 'SPI (Serial Peripheral Interface) Master 0', - 'MSPI1': 'SPI (Serial Peripheral Interface) Master 1', - 'MQSPI': 'Quad SPI Master 0', - 'TWI0': 'I2C 0', - 'TWI1': 'I2C 1', - 'TWI2': 'I2C 2', - 'QUART0': 'UART (TX/RX/CTS/RTS) 0', - 'QUART1': 'UART (TX/RX/CTS/RTS) 1', - 'UART0': 'UART (TX/RX) 0', + 'MSPI2': 'SPI (Serial Peripheral Interface) Master 1', 'UART1': 'UART (TX/RX) 1', - 'UART2': 'UART (TX/RX) 2', - 'ULPI0': 'ULPI (USB Low Pin-count) 0', - 'ULPI1': 'ULPI (USB Low Pin-count) 1', - 'ULPI2': 'ULPI (USB Low Pin-count) 2', + 'UART3': 'UART (TX/RX) 2', } ps = PinSpec(pinbanks, fixedpins, function_names) - # Bank A, 0-27 - ps.gpio("", ('A', 0), 0, 0, 28) - ps.rgbttl("", ('A', 0), 1, limit=22) - ps.mspi("0", ('A', 10), 2) - ps.mquadspi("0", ('A', 4), 2) - ps.uart("0", ('A', 16), 2) - ps.i2c("1", ('A', 18), 2) - ps.pwm("", ('A', 21), 2, 0, 3) - ps.sdmmc("0", ('A', 22), 3) - ps.eint("", ('A', 0), 3, 0, 4) - ps.eint("", ('A', 20), 2, 4, 1) - ps.eint("", ('A', 23), 1, 5, 1) - ps.sdmmc("1", ('A', 4), 3) - ps.jtag("", ('A', 10), 3) - ps.uartfull("0", ('A', 14), 3) - ps.uartfull("1", ('A', 18), 3) - ps.jtag("", ('A', 24), 2) - ps.mspi("1", ('A', 24), 1) - ps.i2c("0", ('A', 0), 2) - ps.uart("1", ('A', 2), 2) - ps.uart("2", ('A', 14), 2) - - ps.mquadspi("1", ('B', 0), 0) + ps.gpio("", ('A', 1), 0, 0, 1) + ps.gpio("", ('A', 0), 0, 1, 1) + ps.gpio("", ('A', 3), 0, 2, 1) + ps.gpio("", ('A', 2), 0, 3, 1) + ps.gpio("", ('A', 4), 0, 5, 2) + ps.gpio("", ('A', 6), 0, 9, 1) + + ps.gpio("", ('A', 7), 0, 13, 1) + ps.gpio("", ('A', 8), 0, 10, 1) + ps.gpio("", ('A', 9), 0, 12, 1) + ps.gpio("", ('A', 10), 0, 11, 1) + + ps.gpio("", ('A', 11), 0, 4, 1) + ps.gpio("", ('A', 12), 0, 7, 2) + ps.gpio("", ('A', 14), 0, 14, 2) + + + + + + ps.pwm("", ('A', 2), 2, 0, 1) + ps.pwm("", ('A', 4), 2, 1, 3) + ps.pwm("", ('A', 8), 2, 4, 1) + ps.pwm("", ('A', 10), 2, 5, 1) + #ps.pwm("", ('A', 13), 2, 5, 1) + ps.mspi("2", ('A', 7), 1) + ps.uart("1", ('A', 0), 1) + ps.uart("3", ('A', 2), 1) + + #ps.mquadspi("1", ('B', 0), 0) # Scenarios below can be spec'd out as either "find first interface" # by name/number e.g. SPI1, or as "find in bank/mux" which must be @@ -93,7 +79,7 @@ def pinspec(): minitest = ['ULPI0/8', 'ULPI1', 'MMC', 'SD0', 'UART0', 'TWI0', 'MSPI0', 'B3:SD1', ] - minitest_eint = ['EINT_0', 'EINT_1', 'EINT_2', 'EINT_3', 'EINT_4'] + minitest_eint = [] minitest_pwm = ['B2:PWM_0'] descriptions = { 'MMC': 'internal (on Card)', diff --git a/src/spec/minitest_old.py b/src/spec/minitest_old.py new file mode 100644 index 0000000..a30fa50 --- /dev/null +++ b/src/spec/minitest_old.py @@ -0,0 +1,114 @@ +#!/usr/bin/env python + +from spec.base import PinSpec + +from spec.ifaceprint import display, display_fns, check_functions +from spec.ifaceprint import display_fixed + + +def pinspec(): + pinbanks = { + 'A': (28, 4), + 'B': (4, 1), + } + fixedpins = { + 'CTRL_SYS': [ + 'TEST', + 'JTAG_SEL', + 'UBOOT_SEL', + 'NMI#', + 'RESET#', + 'CLK24M_IN', + 'CLK24M_OUT', + 'PLLTEST', + 'PLLREGIO', + 'PLLVP25', + 'PLLDV', + 'PLLVREG', + 'PLLGND', + ], + 'POWER_GPIO': [ + 'VDD_GPIOB', + 'GND_GPIOB', + ]} + function_names = {'EINT': 'External Interrupt', + 'FB': 'MC68k FlexBus', + 'IIS': 'I2S Audio', + 'JTAG': 'JTAG (JTAG_SEL=HI/LO)', + 'LCD': '24-pin RGB/TTL LCD', + 'RG': 'RGMII Ethernet', + 'MMC': 'eMMC 1/2/4/8 pin', + 'PWM': 'PWM (pulse-width modulation)', + 'SD0': 'SD/MMC 0', + 'SD1': 'SD/MMC 1', + 'SD2': 'SD/MMC 2', + 'MSPI0': 'SPI (Serial Peripheral Interface) Master 0', + 'MSPI1': 'SPI (Serial Peripheral Interface) Master 1', + 'MQSPI': 'Quad SPI Master 0', + 'TWI0': 'I2C 0', + 'TWI1': 'I2C 1', + 'TWI2': 'I2C 2', + 'QUART0': 'UART (TX/RX/CTS/RTS) 0', + 'QUART1': 'UART (TX/RX/CTS/RTS) 1', + 'UART0': 'UART (TX/RX) 0', + 'UART1': 'UART (TX/RX) 1', + 'UART2': 'UART (TX/RX) 2', + 'ULPI0': 'ULPI (USB Low Pin-count) 0', + 'ULPI1': 'ULPI (USB Low Pin-count) 1', + 'ULPI2': 'ULPI (USB Low Pin-count) 2', + } + + ps = PinSpec(pinbanks, fixedpins, function_names) + + # Bank A, 0-27 + ps.gpio("", ('A', 0), 0, 0, 28) + ps.rgbttl("", ('A', 0), 1, limit=22) + ps.mspi("0", ('A', 10), 2) + ps.mquadspi("0", ('A', 4), 2) + ps.uart("0", ('A', 16), 2) + ps.i2c("1", ('A', 18), 2) + ps.pwm("", ('A', 21), 2, 0, 3) + ps.sdmmc("0", ('A', 22), 3) + ps.eint("", ('A', 0), 3, 0, 4) + ps.eint("", ('A', 20), 2, 4, 1) + ps.eint("", ('A', 23), 1, 5, 1) + ps.sdmmc("1", ('A', 4), 3) + ps.jtag("", ('A', 10), 3) + ps.uartfull("0", ('A', 14), 3) + ps.uartfull("1", ('A', 18), 3) + ps.jtag("", ('A', 24), 2) + ps.mspi("1", ('A', 24), 1) + ps.i2c("0", ('A', 0), 2) + ps.uart("1", ('A', 2), 2) + ps.uart("2", ('A', 14), 2) + + ps.mquadspi("1", ('B', 0), 0) + + # Scenarios below can be spec'd out as either "find first interface" + # by name/number e.g. SPI1, or as "find in bank/mux" which must be + # spec'd as "BM:Name" where B is bank (A-F), M is Mux (0-3) + # EINT and PWM are grouped together, specially, but may still be spec'd + # using "BM:Name". Pins are removed in-order as listed from + # lists (interfaces, EINTs, PWMs) from available pins. + + minitest = ['ULPI0/8', 'ULPI1', 'MMC', 'SD0', 'UART0', + 'TWI0', 'MSPI0', 'B3:SD1', ] + minitest_eint = ['EINT_0', 'EINT_1', 'EINT_2', 'EINT_3', 'EINT_4'] + minitest_pwm = ['B2:PWM_0'] + descriptions = { + 'MMC': 'internal (on Card)', + 'SD0': 'user-facing: internal (on Card), multiplexed with JTAG\n' + 'and UART2, for debug purposes', + 'TWI2': 'I2C.\n', + 'E2:SD1': '', + 'MSPI1': '', + 'UART0': '', + 'B1:LCD/22': '18-bit RGB/TTL LCD', + 'ULPI0/8': 'user-facing: internal (on Card), USB-OTG ULPI PHY', + 'ULPI1': 'dual USB2 Host ULPI PHY' + } + + ps.add_scenario("MiniTest", minitest, minitest_eint, minitest_pwm, + descriptions) + + return ps -- 2.30.2