Hi folks I have a VHDL design which I'm putting on an FPGA with Quartus II. There is a specific pin on the FPGA which I need to drive high. This pin has no corresponding port in my VHDL file and I don't want to edit the VHDL file. I can find the option in Quartus to assign all unused pins to say "driving low." However I want to keep the default at "driving low" while assigning just this pin to "driving high." The reason for this is that the default drving low value causes the configuration controller on my dev-kit (NiosII Stratix kit) to reconfigure repeatedly. How can I assign just one pin to drive high? I'm certain it can be done, but for the life of me I cannot find the option in Quartus. Thanks in advance, Richard
Assigning unused pins in Quartus II
Started by ●July 11, 2006
Summary
A user sought a way to drive a specific unused FPGA pin high in Quartus II without modifying their auto-generated VHDL source code.
A user sought a way to drive a specific unused FPGA pin high in Quartus II without modifying their auto-generated VHDL source code. The discussion explores why the default setting of driving unused pins to ground can cause issues with hardware development kits.
The community concluded that the best solution is to change the global unused pin setting to 'As input tri-stated' in the Device and Pin Options, relying on external pull-up resistors for the desired signal state.
- Quartus II defaults unused pins to drive ground, which can cause reconfiguration loops or signal conflicts on certain development boards.
- Global settings for unused pins are located under Assignments > Device > Device & Pin Options > Unused Pins.
- The most effective workaround for driving a pin high without VHDL changes is setting unused pins to 'As input tri-stated' and using physical pull-up resistors.
- Users generally prefer not to modify auto-generated VHDL files to keep target-specific hardware details separate from logic design.
Quartus IIFPGA HardwarePin Assignment
Reply by ●July 11, 20062006-07-11
rnbrady wrote:> I have a VHDL design which I'm putting on an FPGA with Quartus II. > There is a specific pin on the FPGA which I need to drive high. This > pin has no corresponding port in my VHDL file and I don't want to edit > the VHDL file. > > I can find the option in Quartus to assign all unused pins to say > "driving low." However I want to keep the default at "driving low" > while assigning just this pin to "driving high."This is one of the most mind boggling things about Quartus II. By default it set all unspecified pins to ground, which is a terrible default as one quick first test is likely to miss this and will end up driving ground to a bunch of should-be input pins. Richard, the fix for you problem is (from memory) to enter the general settings (assignments?) and change the pin default from "output driving ground" to "input tristated". That should solve this problem completely. Tommy> > The reason for this is that the default drving low value causes the > configuration controller on my dev-kit (NiosII Stratix kit) to > reconfigure repeatedly. > > How can I assign just one pin to drive high? I'm certain it can be > done, but for the life of me I cannot find the option in Quartus. > > Thanks in advance, > Richard
Reply by ●July 11, 20062006-07-11
The Unused Pin Option setting is in: Assignments Settings->Device->Device & Pin Options->Unused Pins. Hope this helps, Subroto Datta Altera Corp. Tommy Thorn wrote:> rnbrady wrote: > > I have a VHDL design which I'm putting on an FPGA with Quartus II. > > There is a specific pin on the FPGA which I need to drive high. This > > pin has no corresponding port in my VHDL file and I don't want to edit > > the VHDL file. > > > > I can find the option in Quartus to assign all unused pins to say > > "driving low." However I want to keep the default at "driving low" > > while assigning just this pin to "driving high." > > This is one of the most mind boggling things about Quartus II. By > default it set all unspecified pins to ground, which is a terrible > default as one quick first test is likely to miss this and will end up > driving ground to a bunch of should-be input pins. > > Richard, the fix for you problem is (from memory) to enter the general > settings (assignments?) and change the pin default from "output driving > ground" to "input tristated". That should solve this problem > completely. > > Tommy > > > > > > The reason for this is that the default drving low value causes the > > configuration controller on my dev-kit (NiosII Stratix kit) to > > reconfigure repeatedly. > > > > How can I assign just one pin to drive high? I'm certain it can be > > done, but for the life of me I cannot find the option in Quartus. > > > > Thanks in advance, > > Richard
Reply by ●July 11, 20062006-07-11
> I have a VHDL design which I'm putting on an FPGA with Quartus II. > There is a specific pin on the FPGA which I need to drive high. This > pin has no corresponding port in my VHDL file and I don't want to edit > the VHDL file.Just out of curiousity, why don't you want to edit the VHDL file since apparently 'as it is now' the design is somewhat deficient in that it doesn't do what you want it to do. KJ
Reply by ●July 11, 20062006-07-11
Subroto Datta wrote:> The Unused Pin Option setting is in: Assignments > Settings->Device->Device & Pin Options->Unused Pins.Thanks Subroto. Do you know why this isn't the default? Regards, Tommy
Reply by ●July 11, 20062006-07-11
The choice of unused pins driving low was used I believe to improve signal integrity. However I am not an expert in this area, but I do know that several customers have mentioned this to be a confusing choice. The default will change with future device families. - Subroto "Tommy Thorn" <tommy.thorn@gmail.com> wrote in message news:1152662388.749655.119990@m73g2000cwd.googlegroups.com...> Subroto Datta wrote: >> The Unused Pin Option setting is in: Assignments >> Settings->Device->Device & Pin Options->Unused Pins. > > Thanks Subroto. > > Do you know why this isn't the default? > > Regards, > Tommy >
Reply by ●July 12, 20062006-07-12
> Just out of curiousity, why don't you want to edit the VHDL file since > apparently 'as it is now' the design is somewhat deficient in that it > doesn't do what you want it to do.The VHDL file is autogenerated, and I feel that editing it with specifics about the precise target board is a hack. To me this should reside in a separate file or be programmable via the GUI.
Reply by ●July 12, 20062006-07-12
Subroto Datta wrote:> The Unused Pin Option setting is in: Assignments > Settings->Device->Device & Pin Options->Unused Pins.Thanks Subroto, but like I said:> > > I can find the option in Quartus to assign all unused pins to say > > > "driving low." However I want to keep the default at "driving low" > > > while assigning just this pin to "driving high."It's not the default I'm looking for, but rather a setting for individual pins to ovverride the default. To me it is unreasonable to assume all unsed pins should have the same behaviour. It would make more sense to allow the assignment editor to override the default for a given pin. Thanks for your reply, Richard
Reply by ●July 12, 20062006-07-12
> Richard, the fix for you problem is (from memory) to enter the general > settings (assignments?) and change the pin default from "output driving > ground" to "input tristated". That should solve this problem > completely.Spot on! I don't know why I didn't think of doing this. There is obviously an external pull-up resistor on that pin. Thanks a ton Tommy, and thanks to everyone for the help! Richard
Reply by ●July 12, 20062006-07-12
>The VHDL file is autogenerated, and I feel that editing it with >specifics about the precise target board is a hack. To me this should >reside in a separate file or be programmable via the GUI.If it's auto-generated, it can be auto-hacked. Just write a script in your favorite language to do whatever needs doing and toss that into your Makefile. (That's not to discourage easier solutions. I'm just trying to say that you shouldn't avoid hacking the "source" code because you don't think of it as source code. -- The suespammers.org mail server is located in California. So are all my other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited commercial e-mail to my suespammers.org address or any of my other addresses. These are my opinions, not necessarily my employer's. I hate spam.






