Using FPGA Sesssion Control
From RCSWiki
Contents |
About
- Author: Andy Schmidt
- Last Modified: 07/11/2008
- Notes: Low level access to the FPGAs can be accomplished via FSC. The following tutorial covers the FSC commands and how to use FSC.
Getting Started
FPGA Session Control (FSC) is a program that is used by the RCS Lab to remotely control FPGA(s). This tutorial aims to cover the commands in more details and give a brief overview of how they can be used to remotely control a single FPGA. This tutorial is designed initially for students in the Reconfigurable Computing Course; however, it is generic enough for general purpose users.
Commands
The Commands that can be used with a brief description of what they do:
- fsc help: Displays the available commands (in case you forget)
- Usage: fsc help
- fsc request: Request any available ML-310 (returns name of board)
- Usage: fsc request or you can specify a board that is not already in use: fsc request <board name>
- fsc release: Release Board
- Usage: fsc release <board name>
- fsc up: Power On Board
- Usage: fsc up <board name>
- fsc down: Power Off Board
- Usage: fsc down <board name>
- fsc status: Display Power Status (On / Off) of Board
- Usage: fsc status <board name>
- fsc open: Open Terminal Window for Board
- Usage: fsc open <board name>
- fsc upload: Upload ACE file to a specific Board's Slot
- Usage: fsc upload <board name> <slot number> <file name> "Description to identify this Ace File is yours"
- fsc select: Select Slot of a Board
- Usage: fsc select <board name> <slot number>
- fsc boot: Boot ACE file in Slot currently selected
- Usage: fsc boot <board name>
- fsc list: List All Boards
- Usage: fsc list
Using FSC Commands
Typically, the best way to use FSC is with two terminals. One terminal is for the FSC commands and the second terminal is for Minicom (to display output from the board). Assuming you have two terminals open (and connected to Marge):
- fsc list
- List all of the boards, check to make sure you don't already have a board in use
- If you already have a board, skip the next step and instead power the board down and up to restart it.
- fsc request
- Request any available ML-310
- The command will output the name of the board you were give
- Common ML-310 board names: frink, shemp, moe, curly, larry
- fsc up
- Power on the ML-310
- Often it is good to first check the power status (in case someone left the board on)
- fsc status <board name>
- fsc upload <board name> 7 <file name> "Helpful Identifying Description in Quotes"
- In the Second Terminal, to open Minicom to the board you are using type: minicom <board name>
- Select Slot 7
- Boot
- Reboots ML-310 into your ACE file which was uploaded to slot 7
- Run Test...
- fsc down <board name>
- fsc release <board name>
- Close Minicom: ctrl A + X
- It is important to close minicom so the next user can open Minicom
Best Practices
Since there are a limited number of boards it is critical that you do NOT hold a board. Since most of the tests you will need to run should only take you a few minutes, it is best to request a board, turn it on, upload your file, test it, turn off the board, and release it. This will allow everyone to efficiently use the boards. If you are found to be holding the board for long periods of time you may lose access to the FPGAs.
Common Issues
- No Available Boards
- use fsc list to see if any user has multiple boards reserved, if so, contact TA or student to release the board
- Cannot Upload ACE File
- Make sure the ACE File is copied over from the Mosaic machine to Marge
- Make sure the permissions are set to 666, this can be done by typing: chmod 666 <file name>
- Cannot Open Minicom
- It is possible a previous user did not close minicom, to find out if this is the case type: grep -ps | minicom <board name>
- Contact TA or person to close minicom
- Turned on board and opened minicom, but nothing is displayed
- Hit enter in Minicom window, it might be possible the board powered on before Minicom was opened
- Power Off and then On the board (fsc down, fsc up). It might be possible someone left the board on before you
If you come across other issues please let Dr. Sass or Andy Schmidt know so it can be corrected.
