cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
17290
Views
26
Helpful
4
Replies

What is FPGA?

salman abid
Level 1
Level 1

Hi Experts,

 

Can anyone help me to understand what is FPGA in cisco switches?? Actually I have got a query from my boss to understand the features of FPGA and let him know if we can leverage the features within our organization.

To be very honest I tried googling the same but didn't get any satisfactory document which can help me to understand. :(

 

 

 

 

 

 

 

Regards

Salman

1 Accepted Solution

Accepted Solutions

It does not give you as a user any benefit , it gives Cisco benefits by allowing them to deploy upgrades to these chips that are completely programmable by there design engineers.

 

" FPGA's are just huge re-configurable logic circuits that allow a developer to create circuits with very specific and dedicated functions. They typically come with a very large amount of I/O when compared to typical micro-controllers as well. Because it is basically a bunch of gates in silicon, everything you code in your hardware description language (HDL) will happen in parallel. This combined with the fact that you can write custom circuits is what gives the ability to accelerate operations in an FPGA over a typical processor even though the processor may have a much higher clock speed. To better illustrate this point, lets say you have an algorithm that you need to run and you want to compare an FPGA to a processor. The FPGA is clocked at 100Mhz and the processor at 3Ghz. This means the processor is running at a rate that is 30 times faster than the FPGA. Let's say you code up a circuit that is capable of computing the algorithm on the FPGA in 10 clock cycles. The equivalent algorithm on a processor could take thousands of instructions to execute. This places the FPGA far ahead of the processor in terms of performance. And, because of the parallel nature of FPGA's, if you code it right and the flow through the FPGA is continuous, every clock cycle, the FPGA can finish the computation of a new result. This is because every stage in an FPGA will execute concurrently. So it may take 10 clock cycles, but at each clock cycle, a different piece of 10 different results can be computed simultaneously (this is called pipelinine: http://en.wikipedia.org/wiki/Pipeline_%28computing%29 ). The processor is not capable of this and can not compute the different stages in parallel without taking extra time to do so. Processors are also bound on a performance level by their instruction set whereas on an FPGA, this can be overcome by good and application specific circuit design. A processor is a very general design that can run any combination of instructions, so it takes longer to compute things because of its generalized nature. FPGAs also don't have the issues of moving things in and out of cache or RAM. They typically do use RAM, but in a parallel nature that does not inhibit or bottleneck the flow of the processing. It is also interesting to note that a processor can be created and implemented on an FPGA because you can implement the circuits that compose a processor."

View solution in original post

4 Replies 4

Mark Malone
VIP Alumni
VIP Alumni

FPGAs are programmable chips , there in a lot of high end tech devices , there in alot of cisco platforms , our company makes them Xilinx and sells them to Cisco,Siemens, Huaweii etc

You cant make changes to these chips there per-programmed for the device as per request of the vendor  , administrators have no control over them, most you will be able to do is upgrade them

http://www.cisco.com/c/en/us/td/docs/routers/7200/configuration/feature_guides/fpd.html

Hi Mark,

 

Thanks for your reply

but my question is why I need a device with FPGA feature and what benefits it can give me??

It does not give you as a user any benefit , it gives Cisco benefits by allowing them to deploy upgrades to these chips that are completely programmable by there design engineers.

 

" FPGA's are just huge re-configurable logic circuits that allow a developer to create circuits with very specific and dedicated functions. They typically come with a very large amount of I/O when compared to typical micro-controllers as well. Because it is basically a bunch of gates in silicon, everything you code in your hardware description language (HDL) will happen in parallel. This combined with the fact that you can write custom circuits is what gives the ability to accelerate operations in an FPGA over a typical processor even though the processor may have a much higher clock speed. To better illustrate this point, lets say you have an algorithm that you need to run and you want to compare an FPGA to a processor. The FPGA is clocked at 100Mhz and the processor at 3Ghz. This means the processor is running at a rate that is 30 times faster than the FPGA. Let's say you code up a circuit that is capable of computing the algorithm on the FPGA in 10 clock cycles. The equivalent algorithm on a processor could take thousands of instructions to execute. This places the FPGA far ahead of the processor in terms of performance. And, because of the parallel nature of FPGA's, if you code it right and the flow through the FPGA is continuous, every clock cycle, the FPGA can finish the computation of a new result. This is because every stage in an FPGA will execute concurrently. So it may take 10 clock cycles, but at each clock cycle, a different piece of 10 different results can be computed simultaneously (this is called pipelinine: http://en.wikipedia.org/wiki/Pipeline_%28computing%29 ). The processor is not capable of this and can not compute the different stages in parallel without taking extra time to do so. Processors are also bound on a performance level by their instruction set whereas on an FPGA, this can be overcome by good and application specific circuit design. A processor is a very general design that can run any combination of instructions, so it takes longer to compute things because of its generalized nature. FPGAs also don't have the issues of moving things in and out of cache or RAM. They typically do use RAM, but in a parallel nature that does not inhibit or bottleneck the flow of the processing. It is also interesting to note that a processor can be created and implemented on an FPGA because you can implement the circuits that compose a processor."

Actually, FPGA chips are important while we are implementing or deploying Cisco SD-Access, because these chips are open programmable. In the Cisco SD-Access lots of protocols must run to create the SD-Access domain for DNA appliance

[such as Fabric Border; mean is Core, Fabric Edge; mean is Access, to mapping the database with ID and creating the location database we need Controller such as Cisco 3850, Any Cisco Cat 9k, Cat 6800 & ASR/ISR series]. Now, if the switch does not support Field Programmable Gate Array (FPGA) then we can't run the required protocols to run or create SD-Access Campus Fabric.

 

That's the reason FPGA is required.

Does Cisco Cat 4500 support SD-Access?

Cisco Cat 4500 E does support FPGA while using it with Sup 8, so yes it does support SD-Access. You can use Cisco 4500 E as an SD Controller, which is the brain of the DNA. 

Cisco 4500X does not support FPGA because 4500X made with Sup 7 which does not provide FPGA. So, it's mean you can't you this device for Cisco SD-Access controller because you can't run the protocols to create SD-Access Campus Fabric.

Review Cisco Networking products for a $25 gift card