Academic Program

Synthesis and Pin Assignments

Synthesis and Pin Assignments

Now that the design has been entered we will translate the written design into a form that is machine-readable. For SoCs, this process is called synthesis. Before the synthesized design is placed into a device we will also set up the design constraints. For this tutorial, the only constraints we will place are the pin assignments.

 

It is quite common for a designer to perform a function simulation of their designs prior to synthesis. For this simple example, we are omitting the simulation step

1)  Double-click Synthesize under Implement Design in the Design Flow window to synthesize the design with Synplify Pro. Synplify Pro adds I/O pads to the design. A green check mark appears in the Design Flow window to indicate synthesis was successful  

  

 

Since this is a very simple design, the only other thing we need to do is tell the tools which I/Os to use. Double-click Manage Constraints in the Design Flow window to open the Libero SoC Constraints Manager.

3)  Confirm the I/O Attributes tab is selected. Use the pull-down menu on the Edit button to select Edit with I/O Editor (highlighted in the figure above) to open the I/O Editor.

4)  Select the Port View tab of the I/O Editor.

5)  Use this window to set the I/O Standard and Pin Number. Confirm that LVCMOS33 is the I/O Standard for each pin.

6)  Click Unassigned in the Pin Number column to reveal available I/O pins. Make the following assignments: (you can type the pin number in the field or use the pull-down menu to select the pin)

  • A -> K5
  • B -> K4
  • Y -> P7

7)  Make sure your connections match the image below then click on File > Commit and close the window, File > Exit.

Push-Button Switches

The PolarFire Splash Kit comes with four debug push-button switches that are connected to the PolarFire FPGA. The table below lists the onboard push-button switches.

Switch Number FPGA Pin Number FPGA Pin Name
SW3 L6 GPIO210PB4
SW4 M7 GPIO210NB4
SW5 K5 GPIO211PB4/DQS
SW6 K4 GPIO211NB4/DQS

User LEDs

The board provides user access to eight active low LEDs, which are connected to the PolarFire device for debugging applications. The table below lists the onboard debugging LEDs.

Reference Board LED FPGA Pin Number FPGA Pin Name
LED1 P7 GPIO186PB4
LED2 P8 GPIO186NB4
LED3 N7 GPIO187PB4/DQS
LED4 N8 GPIO187NB4/DQS
LED5 N6 GPIO188PB4
LED6 N5 GPIO188NB4
LED7 M8 GPIO189PB4
LED8 M9 GPIO189NB4

8) If you click the green arrow button at the top of the Design Flow window, you can now run the design all the way through Place and Route.   This will apply the constraints to the synthesize, then place the netlist on the device and route the interconnections.