Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20792 Discussions

About My Project Which is AI and ANN Related

Altera_Forum
Honored Contributor II
1,385 Views

Like what the title says (ANN = Artificial Neural Network), I only have (limited) access to Cyclone II and am planning to use Quartus II Web Edition but what other options are available for me in implementing FPGA for ANN? 

 

Any help is welcomed. 

(Hope I got the right sub-forum) 

 

Thanks in advance!
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
660 Views

 

--- Quote Start ---  

what other options are available for me in implementing FPGA for ANN? 

 

--- Quote End ---  

Were you planning on implementing the functions in software in a soft-core processor, or in hardware in the FPGA fabric? 

 

The software component could be implemented using an instruction set simulator, I'm sure there is one for the Altera NIOS processor, though I have not used it. 

 

Both the CPU and FPGA logic can be simulated using Modelsim. You can download the Modelsim Altera Edition simulator (its free) and test your designs there first. Then when you have access to your Cyclone board, you won't spend quite so much time debugging. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
660 Views

 

--- Quote Start ---  

Were you planning on implementing the functions in software in a soft-core processor, or in hardware in the FPGA fabric? 

--- Quote End ---  

I'm not sure I'm getting this, so basically I don't know which one I'll be implementing my project with and which one is the better one (easier or not, doesn't matter). I'm fairly new with FPGA and hardly ever used Cyclone II so I need to experiment around first to really understand FPGA. =/ 

 

 

--- Quote Start ---  

The software component could be implemented using an instruction set simulator, I'm sure there is one for the Altera NIOS processor, though I have not used it. 

 

Both the CPU and FPGA logic can be simulated using Modelsim. You can download the Modelsim Altera Edition simulator (its free) and test your designs there first. Then when you have access to your Cyclone board, you won't spend quite so much time debugging. 

--- Quote End ---  

With a 14GB installation, that's high but it's not a problem if it's to help it out. :) 

 

Hope you can further help me out on this, you and anyone else~! 

 

 

--- Quote Start ---  

Cheers, 

Dave 

--- Quote End ---  

 

Cheers to you too Dave :)
0 Kudos
Altera_Forum
Honored Contributor II
660 Views

 

--- Quote Start ---  

I'm not sure I'm getting this, so basically I don't know which one I'll be implementing my project with and which one is the better one (easier or not, doesn't matter). I'm fairly new with FPGA and hardly ever used Cyclone II so I need to experiment around first to really understand FPGA. =/ 

 

--- Quote End ---  

The first thing you need to do, is to identify some AI algorithms and implement them in C or C++, or MATLAB. That will give you a starting point. 

 

In parallel with that, you can learn the basics of FPGAs, eg., look at the hardware description languages VHDL, Verilog, and SystemVerilog, and chose one to learn. Create some simple designs and run them in the Modelsim simulator. 

 

When you have an idea of what your AI algorithms need to do, you can describe them on this forum and ask for advice on how to accelerate them with an FPGA. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
660 Views

Sorry for the late reply. 

 

Thanks for the information Dave, I'll try Modelsim simulator out first then I'll get back here once I'm familiar with FPGA. 

 

About the AI algorithms, I'm not sure what you meant. Could you kindly explain?
0 Kudos
Altera_Forum
Honored Contributor II
660 Views

 

--- Quote Start ---  

 

About the AI algorithms, I'm not sure what you meant. Could you kindly explain? 

--- Quote End ---  

FPGAs are very good for processing streaming data, like that from an analog-to-digital converters or going to digital-to-analog converters. Hence FPGAs work nicely with signal processing applications. 

 

What kinds of data do AI systems deal with? Do they need access to lots of parameters before making 'decisions'? Or are you designing little neurons that only talk to their local neighbors? These types of details will help you understand whether or not FPGAs can implement AI in the hardware fabric, or whether you will implement lots of simple processor cores, and run software on lots of cores within an FPGA. If it is the latter, then GPUs might be a more appropriate tool. So before investing time learning FPGAs, learn how to describe your AI system, so that you can determine the best mapping to hardware. 

 

Cheers, 

Dave
0 Kudos
Reply