Question about integrated circuits

  • Thread starter Thread starter Gulli
  • Start date Start date
  • Tags Tags
    Circuits
Click For Summary

Discussion Overview

The discussion revolves around the functioning of integrated circuits, specifically focusing on NAND gates, microcontrollers, and programmable logic devices like PALs and FPGAs. Participants explore how inputs are managed within these circuits and the process of configuring logic devices based on design requirements.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant questions how multiple inputs can be managed in a circuit built from NAND gates, suggesting that feeding a single current may limit the functionality of the gates.
  • Another participant clarifies that the power from the wall is used to power the circuit, not to provide inputs, and explains that inputs can come from memory or external sources like sensors.
  • A participant expresses satisfaction with the explanation regarding memory providing different inputs simultaneously.
  • Questions arise about how configuration information for PALs is generated from logic design and the compilation process involved.
  • Another participant inquires about the process of assigning input signals to pins in FPGA or PAL programming, emphasizing the role of design requirements and PCB layout considerations.
  • A response indicates that the pinout is often based on initial assumptions and may require adjustments based on PCB layout and internal circuitry constraints.

Areas of Agreement / Disagreement

Participants express varying levels of understanding and seek clarification on specific aspects of integrated circuits and programming logic devices. There is no clear consensus on the best practices for pin assignment or the compilation process, indicating multiple viewpoints and ongoing exploration of these topics.

Contextual Notes

Participants discuss the limitations of their understanding regarding the configuration of logic devices and the relationship between design requirements and physical layout, highlighting the iterative nature of the design process.

Who May Find This Useful

Individuals interested in integrated circuit design, programming of logic devices, and those seeking to understand the relationship between circuit functionality and design constraints may find this discussion beneficial.

Gulli
Messages
95
Reaction score
0
This is an easy one for those familiar with integrated circuits, but it's been bugging me.

Say you build a circuit out of NAND gates, which have two inputs and one output. Doesn't this mean that the circuit as a whole has multiple inputs (or do some of the outputs loop back to the inputs so the circuit as a whole has only one input)? If so, how does feeding a single current (from the wall) into the circuit do anything for the multiple inputs: they'd all get the same input current and this restricts what the gates can do (for example you can't have input A getting zero current and input B getting nonzero current)? So how do you get the inputs to be different?
 
Engineering news on Phys.org
Gulli said:
This is an easy one for those familiar with integrated circuits, but it's been bugging me.

Say you build a circuit out of NAND gates, which have two inputs and one output. Doesn't this mean that the circuit as a whole has multiple inputs (or do some of the outputs loop back to the inputs so the circuit as a whole has only one input)? If so, how does feeding a single current (from the wall) into the circuit do anything for the multiple inputs: they'd all get the same input current and this restricts what the gates can do (for example you can't have input A getting zero current and input B getting nonzero current)? So how do you get the inputs to be different?

The power from the wall is used to power the circuit, not to provide inputs to the logic gates.

One type of logic integrated circuit (IC) is a microcontroller (uC) or micrprocessor (uP):

http://www.howstuffworks.com/microcontroller.htm
http://en.wikipedia.org/wiki/Microcontroller
http://en.wikipedia.org/wiki/Microprocessor

They typically get their inputs from memory (either on the same IC or from off-chip memory), and also from external inputs (like pushbuttons, sensors, etc.). Those inputs are processed and generate outputs back to memory and also to external actuators and displays.

A building block IC would be something like a PAL (programmable array logic), which has general purpose circuitry inside (including gates, flip-flops, and interconnect arrays). PALs are programmed to perform logic functions based on their internal capabilities, and the configuration information that is generated by compiling your logic design. You could configure a PAL to be an up/down binary counter, for example, based on the state of one of its inputs.

http://en.wikipedia.org/wiki/Programmable_Array_Logic

.
 
Thanks, that's the answer I was looking for. Memory can provide lots of different inputs simultaneously and that answers my question.
 
berkeman said:
PALs are programmed to perform logic functions based on their internal capabilities, and the configuration information that is generated by compiling your logic design.

Can you please tell me how exactly the configuration information is generated by compiling the logic design? How is the logic design compiled?
 
pairofstrings said:
Can you please tell me how exactly the configuration information is generated by compiling the logic design? How is the logic design compiled?

Sure. You would use some design tool for PALs, CPLDs, FPGAs, etc, like Xilinx's ISE:

http://www.xilinx.com/support/download/index.htm

or Quartus from Altera:

https://www.altera.com/download/software/quartus-ii-we

or other design packages. You would typically code your design in HDL, VHDL, or Verilog, and use the software above to compile your design for a specific target PAL/CPLD/FPGA IC.

Here's a sample tutorial showing how to design, compile and load a Xilinx CPLD:

http://www.electro-tech-online.com/...t/39308-cpld-xilinx-programming-tutorial.html

.
 
Last edited by a moderator:
I want to know, while programming FPGA, PAL or other logic device is it based on our requirements that pins are allotted the input signal?
How do we know which pin gets what signal?
 
pairofstrings said:
I want to know, while programming FPGA, PAL or other logic device is it based on our requirements that pins are allotted the input signal?
How do we know which pin gets what signal?

That's part of your design. In the coding of the PAL/CPLD/FPGA circuitry, you usually assume some initial pinout, and modify the pinout if needed (based on how you want the PCB layout to flow, and if you can make the PAL/CPLD/FPGA internal circuity fit given the PCB layout based pinout.

In one extreme, the PCB layout is already done, and you have to constraing the logic device's pinout based on that in your coding. In the other extreme, you code up the device, and give the pinout to the PCB layout person. More generally, you iterate once or twice to optimize the logic device's internal signal routing and to optimize the PCB's layout.
 

Similar threads

Replies
2
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K
Replies
2
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
Replies
12
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 47 ·
2
Replies
47
Views
5K
Replies
9
Views
8K
  • · Replies 10 ·
Replies
10
Views
3K
Replies
14
Views
3K