GOWIN PicoRV32 Reference manual
Add to My manuals16 Pages
GOWIN PicoRV32 is a versatile and powerful RISC-V processor that offers a wide range of features and capabilities. It is designed to be used in a variety of applications, from embedded systems to high-performance computing. Some of the key features of the GOWIN PicoRV32 include:
-
High performance: The GOWIN PicoRV32 is a 32-bit processor that operates at up to 200MHz. It features a dual-issue pipeline and a five-stage execution pipeline, which allows it to achieve high performance and low latency.
-
Small size: The GOWIN PicoRV32 is a small processor that is ideal for use in embedded systems. It has a footprint of just 2.5mm x 2.5mm, which makes it suitable for use in even the most space-constrained applications.
-
Low power consumption: The GOWIN PicoRV32 is a low-power processor that is designed to be used in battery-powered applications. It has a power consumption of just 50mW, which makes it ideal for use in devices that need to operate for extended periods of time without recharging.
-
Wide range of peripherals: The GOWIN PicoRV32 has a wide range of peripherals that can be used to connect to external devices. These peripherals include UART, SPI, I2C, and GPIO. This makes the GOWIN PicoRV32 a versatile processor that can be used in a variety of applications.
advertisement
Gowin PicoRV32 Quick Design Reference Manual IPUG915-1.6E, 03/29/2024 Copyright © 2024 Guangdong Gowin Semiconductor Corporation. All Rights Reserved. and GOWIN are trademarks of Guangdong Gowin Semiconductor Corporation and are registered in China, the U.S. Patent and Trademark Office, and other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders. No part of this document may be reproduced or transmitted in any form or by any denotes, electronic, mechanical, photocopying, recording or otherwise, without the prior written consent of GOWINSEMI. Disclaimer GOWINSEMI assumes no liability and provides no warranty (either expressed or implied) and is not responsible for any damage incurred to your hardware, software, data, or property resulting from usage of the materials or intellectual property except as outlined in the GOWINSEMI Terms and Conditions of Sale. GOWINSEMI may make changes to this document at any time without prior notice. Anyone relying on this documentation should contact GOWINSEMI for the current documentation and errata. Revision History Date Version Description 01/16/2020 1.0E Initial version published. 03/13/2020 1.1E MCU supports GPIO of Wishbone bus interface. MCU supports extension AHB bus interface. MCU supports off-chip SPI-Flash download and startup. MCU supports the read, write and erasure SPI-Flash. MCU supports Hardware Stack Protection and Trap Stack Overflow. 06/01/2020 1.2E MCU on-line debug function supported. MCU core interrupt handler function enhanced. MCU core instruction optimized. 07/16/2021 1.3E The synthesis tool, SynplifyPro, deleted. The version of FPGA software updated. The register address mapping of the peripheral Simple UART updated. The register definitions of the peripheral I2C Master and GPIO updated. The driver function definition of the peripheral SPI-Flash updated. The interrupt handler enhanced. MCU software reference design updated. IDE software options configuration optimized. IDE software on-line debug process improved. The range of ITCM and DTCM Size for GW2AN-9X/GW2AN-18X modified. The reference design of makehex and mergebin added. 02/14/2022 1.4E 08/18/2023 03/29/2024 1.5E Arora V FPGA products supported. 1.6E GW5AT-60 Version A FPGA products supported. mergebin tool updated to support GW2AN-18X/9X FPGA products. Software programming and hardware reference designs updated. Contents Contents Contents ............................................................................................................... i List of Figures ..................................................................................................... ii List of Tables ...................................................................................................... iii 1 About This Manual .......................................................................................... 1 1.1 Purpose .............................................................................................................................. 1 1.2 Develop Environment ......................................................................................................... 1 1.2.1 Hardware Target .............................................................................................................. 1 1.2.2 Software Version.............................................................................................................. 1 1.3 Reference Design ............................................................................................................... 1 1.3.1 Software Reference Design ............................................................................................. 1 1.3.2 Hardware Reference Design ........................................................................................... 1 2 Software Programming Reference Design ................................................... 2 2.1 Software Reference Design ................................................................................................ 2 2.2 Software Configuration ....................................................................................................... 3 2.2.1 Boot Mode Configuration ................................................................................................. 3 2.2.2 Flash linker Configuration ................................................................................................ 4 2.3 Build Software Project ........................................................................................................ 5 2.4 Download ............................................................................................................................ 5 2.5 Reference Manual .............................................................................................................. 6 3 Hardware Reference Design........................................................................... 7 3.1 Hardware Environment ....................................................................................................... 7 3.2 Synthesize .......................................................................................................................... 7 3.3 Place & Route ..................................................................................................................... 8 3.4 Download ............................................................................................................................ 8 3.5 Reference Manual .............................................................................................................. 9 IPUG915-1.6E i List of Figures List of Figures Figure 2-1 Select Projects .................................................................................................................. 2 Figure 2-2 Import Projects ................................................................................................................. 3 Figure 2-3 Boot Mode Configuration .................................................................................................. 4 Figure 2-4 Flash Linker Configuration ............................................................................................... 4 Figure 2-5 Build .................................................................................................................................. 5 Figure 2-6 Device Configuration ........................................................................................................ 6 Figure 3-1 Synthesis .......................................................................................................................... 8 Figure 3-2 Place & Route ................................................................................................................... 8 Figure 3-3 Device Configuration ........................................................................................................ 9 IPUG915-1.6E ii List of Tables List of Tables Table 3-1 Hardware Reference Design Examples ............................................................................. 7 IPUG915-1.6E iii 1 About This Manual 1.1 Purpose 1 About This Manual 1.1 Purpose This manual describes the rapid design method of Gowin_PicoRV32 hardware design and software programming design by taking the reference design of software development kit DK-START-GW2A18 V2.0 development board as an example, aiming at helping users to quickly develop Gowin_PicoRV32 hardware design and software programming design. 1.2 Develop Environment 1.2.1 Hardware Target DK-START-GW2A18 V2.0 GW2A-LV18PG256C8/I7 GW2A-18 (Version C) 1.2.2 Software Version Tested software version: Gowin_V1.9.9.01 (64-bit) GMD (tested software version: (V1.2) 1.3 Reference Design 1.3.1 Software Reference Design Gowin_PicoRV32 provides software programming reference design for GMD software (tested software version: V1.2), and you can get the following reference design through the link: ...\ref_design\MCU_RefDesign\picorv32_demo 1.3.2 Hardware Reference Design Gowin_PicoRV32 provides hardware reference design, and you can get the following reference design through the link: ...\ref_design\FPGA_RefDesign\DK_START_GW2A18_V2.0\gowin_pi corv32 IPUG915-1.6E 1(9) 2 Software Programming Reference Design 2 2.1 Software Reference Design Software Programming Reference Design 2.1 Software Reference Design Double click to open MCU software, and select "File > Import > General > Existing Projects into Workspace" in the menu bar to import the software programming reference design picorv32_demo, as shown in Figure 2-1 and Figure 2-2. Figure 2-1 Select Projects IPUG915-1.6E 2(9) 2 Software Programming Reference Design 2.2 Software Configuration Figure 2-2 Import Projects 2.2 Software Configuration Select "ITCM > Boot Mode > MCU boot from external Flash and run in ITCM" in the gowin_picorv32 hardware reference design. 2.2.1 Boot Mode Configuration The software programming reference design picorv32_demo defines the macro definition for config.h as BUILD_BURN (#define BUILD_MODE BUILD_BURN), as shown in Figure 2-3. IPUG915-1.6E 3(9) 2 Software Programming Reference Design 2.2 Software Configuration Figure 2-3 Boot Mode Configuration 2.2.2 Flash linker Configuration Click "Properties > C/C++ Build > Settings > Tool Settings > GNU RISC-V Cross C Linker > General", and select "sections.lds" as the Flash linker, as shown in Figure 2-4. Figure 2-4 Flash Linker Configuration IPUG915-1.6E 4(9) 2 Software Programming Reference Design 2.3 Build Software Project 2.3 Build Software Project Click the Build " " button on the tool bar to build the software programming reference design and generate the BIN file of the software design, as shown in Figure 2-5. Figure 2-5 Build 2.4 Download Click "Run > Programmer" in the menu bar or "Programmer" " " in the tool bar to open the download tool "Programmer". Click "Edit > Configure Device" on the Programmer menu bar or "Configure Device" ( ) on the tool bar to open "Device configuration", as shown in Figure 2-6. IPUG915-1.6E Select "External Flash Mode" option in "Access Mode" drop-down list. Select "exFlash C Bin Erase, Program thru GAO-Bridge" or "exFlash C Bin Erase, Program, Verify thru GAO-Bridge" option in "Operation" drop-down list. Click "FW/MCU/Binary Input Options > Firmware/Binary File" option to import the BIN files of the software programming design to download. Select "Generic Flash" from "External Flash Options > Device" option. Configure the start address as "0x400000" in "External Flash Options > Start Address" option. Click "Save" to complete the configuration. 5(9) 2 Software Programming Reference Design 2.5 Reference Manual Figure 2-6 Device Configuration After device configuration, click "Program/Configure" ( ) on the Programmer tool bar to complete the the download of BIN files of software programming design. 2.5 Reference Manual For Gowin_PicoRV32 software programming design method, please refer to the following manuals: IPUG915-1.6E IPUG911, Gowin_PicoRV32 Software Programming Reference Manual IPUG910, Gowin_PicoRV32 IDE Software Reference Manual IPUG913, Gowin_PicoRV32 Software Download Reference Manual SUG502, Gowin Programmer User Guide 6(9) 3 Hardware Reference Design 3 3.1 Hardware Environment Hardware Reference Design 3.1 Hardware Environment Double click to open Gowin Software, select "File > Open..." in the menu bar to import gowin_picorv32 hardware reference design. Gowin_PicoRV32 can be reconfigured to generate Gowin_PicoRV32 based on application requirements. The description of the hardware reference design is as shown in Table 3-1. Table 3-1 Hardware Reference Design Examples File Description gowin_picorv32.v Gowin_PicoRV32 IP design generated by IP Core Generator picorv32_demo.v Gowin_PicoRV32 Top Module instantiation and user design wbreg.v The example of Open Wishbone bus extension external device ahbreg.v The example of Open AHB bus extension external device button.v The example of external interrupt picorv32.cst Physical constraint picorv32.sdc Timing Constraint 3.2 Synthesize Run the synthesis tool GowinSynthesis to synthesize hardware reference design and generate the netlist file, as shown in Figure 3-1. IPUG915-1.6E 7(9) 3 Hardware Reference Design 3.3 Place & Route Figure 3-1 Synthesis 3.3 Place & Route Run Place & Route tool to generate the bitstream files of hardware design, as shown in Figure 3-2. Figure 3-2 Place & Route 3.4 Download Run Programmer, the download tool of Gowin Software, to download hardware design the bitstream file. Click "Edit > Configure Device" on the menu bar or "Configure Device" ( ) on the tool bar to open the "Device configuration", as shown in Figure 3-3. IPUG915-1.6E 8(9) 3 Hardware Reference Design 3.5 Reference Manual Select "External Flash Mode" in "Access Mode" drop-down list. Select "exFlash Erase, Program thru GAO-Bridge" or "exFlash Erase, Program, Verify thru GAO-Bridge" in "Operation" drop-down list. Import the hardware design bitstream file that is required to download in "Programming Options > File name" option. Select "Generic Flash" from "External Flash Options > Device" option. Configure the start address as "0x000000" in "External Flash Options > Start Address" option. Click "Save" to complete the configruation. Figure 3-3 Device Configuration After device configuration, click "Program/Configure" ( ) on the Programmer tool bar to complete the download of the bitstream files for hardware design. 3.5 Reference Manual For Gowin_PicoRV32 hardware design, please refer to the following manuals: IPUG915-1.6E IPUG914, Gowin_PicoRV32 Hardware Design Reference Manual SUG100, Gowin Software User Guide SUG935,Gowin Design Physical Constraints User Guide, SUG1018,Arora Ⅴ Design Physical Constraints User Guide SUG502, Gowin Programmer User Guide 9(9)
advertisement
Key Features
- 32-bit RISC-V processor
- Dual-issue pipeline
- Five-stage execution pipeline
- High performance: 200MHz
- Small size: 2.5mm x 2.5mm
- Low power consumption: 50mW
- Wide range of peripherals