Electronic – Altera FPGA I/O weak pull ups


In altera FPGA documentation they make reference to a "I/O weak pullup" functionality.

I would like to use internal weak pull up instead of external pullups , avoiding a PCB modification.

It seems is possible to activate weak pull up for an I/O in quartus.
But there is no information on how to activate it.

Any hints?

Best Answer

There are two ways of doing it.

1. Pin Planner

The first approach is in the Pin Planner tool. This is the GUI that allows you to select which pin goes where. From the main window with your project open, go to the Assignments menu and select Pin Planner (or press Ctrl+Shift+N).

In the pin planner window, in the All pins view at the bottom, right click on any column header, and select "Customise Columns":

Customise Columns

In the window that opens, scroll down in the left hand side and find "Weak Pull-up Resistor" (it's third one up from the bottom on mine). Click on that, then click the right arrow button to add it to the visible columns. Then click OK.

Show Weak Pull-Up

Now back in the Pin Planner window, you should see a new column called Weak Pull-Up Resistor. For each pin you wish to enable it on, simply click in the box for that column and select "On" (you can also type On into the box). By default it is turned "Off" - so if the column is blank, it means the same as if it says off.

Enable Pull-Up

2. Assignment Editor

You can also assign it manually with the "Assignment Editor" tool. This is useful if, say, you want to enable it for all pins in a bus, or even just all pins. You can use wildcards here.

Open the assignment editor tool in the main window by going to the "Assignments" menu and selecting "Assignment Editor" (or press Ctrl+Shift+A)

At the bottom of the list of assignments, there is a row where all entries are <<New>>. Click in the "Assignment Name" column and select "Weak Pull-Up Resistor". Then in the "Value" column, select "On". Finally in the "To" column, enter the pin name (which can include the wildcard character *).

Assignment Editor

This will enable the pull-up for any pin matching the name in the "To" column.