EasyManua.ls Logo

GOWIN GW1N(R) Series - User Manual

Default Icon
22 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
Loading...
Gowin Programmer
User Guide
SUG502-1.1E,08/06/2018
Question and Answer IconNeed help?

Do you have a question about the GOWIN GW1N(R) Series and is the answer not in the manual?

Overview

The Gowin Programmer is a software tool designed to facilitate the programming and configuration of Gowin Field Programmable Gate Array (FPGA) devices. It serves as an essential interface for transferring data stream files to the various memory types within or external to the FPGA, including SRAM, embedded flash, and external flash. This user guide provides comprehensive instructions on how to effectively utilize the Gowin Programmer, covering everything from initial setup and project creation to advanced device configuration and programming download procedures.

Function Description

The primary function of the Gowin Programmer is to enable the download of programming data to Gowin FPGA devices. This process involves several key steps, starting with setting up the download cable, creating or opening a project, configuring the daisy chain, and finally executing the program download. The software is designed to generate the necessary data stream files for the FPGA, ensuring accurate and reliable programming.

The programmer's interface is structured to provide a clear and intuitive user experience. It features a menu bar for accessing various functions, a tool bar for quick access to common operations, a device table for managing connected devices, and an output panel for displaying real-time information, error messages, warnings, and general status updates.

One of the core functionalities is the management of the daisy chain. The software can automatically scan for connected devices in a daisy chain configuration, populating the device table with detected FPGAs. For more complex setups or when automatic detection is insufficient, the programmer allows for manual configuration of the daisy chain. This includes the ability to add or remove devices from the chain and modify their positions, ensuring that the software accurately reflects the physical hardware setup.

Device programming configuration is a critical aspect of the Gowin Programmer. Users can select different access modes, such as SRAM Mode, Embedded Flash Mode, and External Flash Mode, depending on the target FPGA and the desired programming method. Within each mode, various operations are available, including programming, erasing, verifying, and reading device IDs or status registers. The software supports different Gowin FPGA series, such as GW1N(R) and GW2A(R), each with specific programming models and capabilities. For instance, the GW1N(R) series supports embedded flash programming, while the GW2A/GW2AR series does not.

The programmer also includes features for handling security and pin states. For devices that utilize encrypted bitstream files, the software provides a key programming interface, allowing users to write, read, and lock security keys. This ensures the protection of intellectual property and prevents unauthorized access or modification of the FPGA's configuration. Additionally, the I/O State Editor enables users to define the state of I/O pins before running the download program, which is crucial for debugging and testing purposes. This editor allows for the selection of BSDL files to correlate with device models and packages, and users can change individual pin states or apply a common state to multiple pins.

A useful utility integrated into the Gowin Programmer is the File Convertor. This tool allows for the conversion of raw data flow (.fs) files into binary files. The raw data flow files are ASCII text files, making them human-readable, while the binary files are pure data stream files, optimized for programming. This conversion capability adds flexibility in managing and preparing programming data.

Usage Features

The Gowin Programmer is designed for ease of use, with several features aimed at streamlining the programming workflow. Upon launching the software, a new project is automatically created, or users can choose to create a new project manually or open an existing one. This project file saves the entire programming configuration, including download cable settings and daisy chain arrangements, allowing for consistent and repeatable programming operations.

The download cable setting is a fundamental step, where users can select the type of download cable, the communication port, and the frequency. The software defaults to the first available download cable port and a frequency of 15 MHz, but these settings can be adjusted as needed. The "Auto Detect" feature simplifies this process by automatically identifying connected download cables.

Configuring the daisy chain is made flexible through both automatic scanning and manual intervention. After scanning, devices are displayed in the device table, and users can manually add or remove devices, or adjust their positions in the chain, which is particularly useful when dealing with devices that share the same ID and require specific identification.

Device programming configuration is accessed by selecting a device in the table and opening the "Device Configuration" dialog. Here, users can specify the access mode (SRAM, Embedded Flash, or External Flash) and the desired operation (e.g., program, erase, verify). For external flash programming, users can select the external flash model and the starting address for the SPI flash. The software guides the user through selecting the appropriate programming data file, ensuring that the correct bitstream is loaded for the chosen operation.

The I/O State Editor provides granular control over the device's pins. Users can select a BSDL file corresponding to their device model and package, then interactively modify the state of individual I/O pins. This feature is invaluable for testing specific pin configurations or for debugging issues related to I/O behavior before or during programming.

Security features are integrated to protect sensitive designs. The "Security Configuration" window allows for the programming of a 128-bit key, which is a non-volatile, one-time programmable fuse. Once locked, the key cannot be reprogrammed or read, providing a robust security measure for encrypted bitstream files.

Before finalizing the programming process, the software offers a "Check" function to verify the current configuration for rationality. This helps prevent errors and ensures that the settings are consistent and valid before proceeding with the download. Finally, the "Run" command initiates the program download, and the output panel displays the progress and results of the operation.

Maintenance Features

While the Gowin Programmer is primarily a configuration and programming tool, it incorporates several features that contribute to the maintenance and reliability of the programming process. The ability to save and load project files is a key maintenance feature, as it allows users to archive specific programming configurations. This ensures that a known good configuration can be easily recalled and reused, reducing setup time and minimizing the risk of errors when programming multiple devices or revisiting a project after a period of time.

The output panel, with its distinct sections for Output, Error, Warning, and Info messages, plays a crucial role in diagnosing and troubleshooting programming issues. Any anomalies during the download process, such as communication errors, file mismatches, or device-specific warnings, are clearly displayed, enabling users to quickly identify the root cause of a problem. This detailed feedback is essential for maintaining a smooth and error-free programming workflow.

The "Check" function, which verifies the current configuration, acts as a preventative maintenance step. By validating the settings before initiating a download, it helps to catch potential inconsistencies or invalid parameters that could lead to programming failures or incorrect device behavior. This proactive approach reduces the likelihood of damaging devices or wasting time on failed programming attempts.

The manual daisy chain configuration options, including adding, removing, and reordering devices, provide flexibility in adapting to changes in the hardware setup. If a device in the chain needs to be replaced or if the order of devices is altered, the software can be easily updated to reflect these changes without requiring a complete re-scan or a new project setup. This adaptability is important for maintaining the accuracy of the programming environment.

The File Convertor tool, while primarily for data preparation, also serves a maintenance function by ensuring compatibility between different file formats. If a programming file is in a raw data flow format and needs to be converted to a binary format for a specific programming scenario, this tool facilitates the conversion, ensuring that the programming data is in the optimal format for the target device.

Regular updates to the Gowin Programmer software, as indicated by the revision history, are also a form of maintenance. These updates often include bug fixes, performance improvements, and support for new devices or features, ensuring that the programmer remains compatible with the latest Gowin FPGA products and operating systems. Users are encouraged to refer to the Gowin website for the latest documentation and software versions to ensure they are using the most current and stable tools. The support and feedback channels provided by Gowin Semiconductor further enhance maintenance by offering direct assistance for any questions, comments, or suggestions users may have, ensuring that any issues encountered can be addressed promptly.

GOWIN GW1N(R) Series Specifications

General IconGeneral
Device SeriesGW1N(R)
CategorySemiconductors
ManufacturerGOWIN Semiconductor
Process Technology55nm
Embedded MemoryYes
LVDS SERDESYes
Core Voltage1.2V
DSP BlocksYes
PLLsYes
Package OptionsQFN, BGA
I/O Voltage3.3V
Operating Temperature-40°C to +100°C

Related product manuals