Article ID: 000080220 Content Type: Troubleshooting Last Reviewed: 08/19/2016

Why does an Arria 10 bidirectional pin not behave as open-drain even though the Quartus Prime fitter states that open-drain is enabled?

Environment

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Description

Due to an issue in Quartus® Prime software versions 16.0.2 and earlier an I/O configured as bidirectional and open drain in Arria® 10 devices may not go Hi-Z but will drive high when ENABLE =’0', when implemented using the following construct :


INOUT < = ‘0’ when ENABLE =’1’ else ‘Z’; 

Resolution

You may use one of the following work arounds to avoid this behaviour.

1. Declare I/O as OUT rather than INOUT or


2. User Altera GPIO IO to instantiate an I/O buffer in open-drain mode


3. Use the Keep Attribute as shown below:


signal zero_sig : std_logic:='0';
attribute keep : boolean;
attribute keep of zero_sig : signal is true;
user_pin_name <= zero_sig when ENABLE='1' else 'Z';
(Note: user_pin_name is declared as INOUT)

This issue is scheduled to be fixed in a future version of Quartus Prime software.

Related Products

This article applies to 1 products

Intel® Programmable Devices

1