2
\$\begingroup\$

In Xilinx's 7 Series FPGAs Configuration User Guide (UG470), they say

M[2:0] determine the configuration mode. Connect each mode pin either directly, or via a ≤1 kΩ resistor, to VCCO_0 or GND.

q

Adding extra resistors means it'll cost more. In what case would we prefer connecting via a ≤1 kΩ resistor over connecting directly?

\$\endgroup\$

6 Answers 6

10
\$\begingroup\$

It's at most 3 resistors. In anything with a Xilinx 7 series that's a pretty negligible cost.

Maybe you might want to change the mode or override the default via driving the pins with a low impedance source from a connector or pogo pins to test points. It's a lot harder if you have the pins connected directly.

Of course you can use 0Ω resistors (eliminating the possibility of changes without a soldering iron) but last I looked they were the same price as 1kΩ resistors of similar supplier and specifications.

The costs associated with needing such a feature and not having it, vs. having it and not needing it is such that it’s usually a good idea to include such features in specific places, especially in early revisions of a design.

\$\endgroup\$
5
\$\begingroup\$

By using a "pull-up" resistor, instead of connecting M[2:0] directly to \$V_{CC}\$, you make the default state of that pin "high", while that state remains still configurable by other means:

schematic

simulate this circuit – Schematic created using CircuitLab

You can use a jumper or zero-ohm resistor (in the place of switch JMP1) to bring m[2:0] low, or even use the open-drain (or open-collector) output of some other controlling device to achieve the same effect programmatically/dynamically.

\$\endgroup\$
4
\$\begingroup\$

Possibly because you want to maintain the ability to change the state of the pin with a pull-up or pull-down resistor and a jumper or with a resistor that can be populated in one of two possible spots and you don't want to add a 0R to your BOM.

\$\endgroup\$
2
\$\begingroup\$

It'll cost more

Your time spent deliberating this costs way, way more to the company than those resistors ever will. All of them. Unless you're making hundreds of thousands of whatever device you're working on. The mindset that would be appropriate for a mass-made, dirt-cheap consumer gadget is not appropriate here.

It is an otherwise good question, but saving money is absolutely not a benefit here. Quite the opposite. Spending time on learning is, and that's all good.

\$\endgroup\$
1
\$\begingroup\$

Or because you can eliminate a layer on your PCB by using a jumper over a track. Low value resistors are standard items, and are probably already in your BOM and machine setup.

\$\endgroup\$
1
  • 4
    \$\begingroup\$ The size of resistors you use with a BGA typically would not allow you to route under them. \$\endgroup\$ Commented Jun 14 at 13:47
1
\$\begingroup\$

You would use resistors to pull the M[2:0] inputs HIGH or LOW so you could override them and change the Configuration Mode code on M[2:0].

For example, a Kintex-7 board I designed has:

  • M[0] tied to 3V3 (Vcco_0)
  • M[1] to GND
  • M[2] to (a) no-fit jumper to 3V3, (b) 1K to GND

So the Configuration Mode code is normally LLH (001) to configure from Serial SPI.

With jumper in, Configuration Mode code is HLH (101) for JTAG for development.

The datasheet is warning you that you can't use large pull-up/down resistors (10 kΩ-odd) like for typical logic inputs, it has to be 1 kΩ or less.

And M[2:0] must be pulled HIGH by, or connected to, Vcco_0, you can't drive it from, say, an MCU output pin, or a rail from another regulator etc. The reason isn't stated in the Xilinx datasheets but it's probably to ensure that any HIGH level is definitely there and stable when configuration circuitry (powered by Vcco_0) starts.


Adding extra resistors means it'll cost more.

Correct, great attitude to electronics design engineering: the simpler the schematic, the better. Every single part must justify itself. If it can't be, it don't go on.

Ignoring that this is a resistor, if any component isn't needed and left off, it can't then: go out of stock; go obsolete; fail; have a dry joint; be vibrated off; dissipate any power; make a parts list longer; etc etc. Applying that attitude is a basis for good engineering. Adding a part has a lot more effect than just the part cost.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.