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

"High" language for FPGA

Altera_Forum
Honored Contributor II
1,300 Views

One can use Verilog\VHDL to program FPGA.  

Is there a higher language than Verilog\VHDL ? 

If yes, is it widely used ? 

Thanks.
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
305 Views

Verilog and VHDL are by far the most commonly used design languages for FPGAs. Quartus supports SystemVerilog. There are other EDA vendors who support doing hardware design in C; some are listed at http://www.altera.com/products/software/partners/eda_partners/design_entry/eda-design_entry.html.

0 Kudos
Altera_Forum
Honored Contributor II
305 Views

What are you trying to do? What are you comfortable with, and why don't you want to use VHDL/Verilog? If you're doing DSP, than Matlab/DSP Builder is a high-level tool. If you prefer C, there are a lot of different tools out there for this(Impulse C comes to mind, but do a wiki/google search and you'll find 10 others). Be wary that writing C for hardware gets good results if you understand hardware. I've seen to many people think they can just write C code(serial implementation), without any understanding how that could or should translate to hardware(parallel implementation) Quartus II's SOPC builder is considered a higher level tool, as you can quickly stitch things together, along with lots of IP. 

 

Even schematic/VHDL/Verilog can be considered higher level if you have IP. Again, you're doing more stitching than anything. 

 

I consider most of these productivity tools, in that they're often faster than writing in HDL, or in the case of IP, they're just easier than recreating yourself. They can work wonderfully in that respect. But if you're extremely concerned about performance/area/control, than HDL is the way to go. (Which makes sense as you go to a higher level of abstraction.) And of course, these aren't hard rules. If you get a good piece of IP, than you can get highly optimized functions that are generally better than the average coder would write.
0 Kudos
Altera_Forum
Honored Contributor II
305 Views

 

--- Quote Start ---  

What are you trying to do? What are you comfortable with, and why don't you want to use VHDL/Verilog? If you're doing DSP, than Matlab/DSP Builder is a high-level tool. If you prefer C, there are a lot of different tools out there for this(Impulse C comes to mind, but do a wiki/google search and you'll find 10 others). Be wary that writing C for hardware gets good results if you understand hardware. I've seen to many people think they can just write C code(serial implementation), without any understanding how that could or should translate to hardware(parallel implementation) Quartus II's SOPC builder is considered a higher level tool, as you can quickly stitch things together, along with lots of IP. 

 

Even schematic/VHDL/Verilog can be considered higher level if you have IP. Again, you're doing more stitching than anything. 

 

I consider most of these productivity tools, in that they're often faster than writing in HDL, or in the case of IP, they're just easier than recreating yourself. They can work wonderfully in that respect. But if you're extremely concerned about performance/area/control, than HDL is the way to go. (Which makes sense as you go to a higher level of abstraction.) And of course, these aren't hard rules. If you get a good piece of IP, than you can get highly optimized functions that are generally better than the average coder would write. 

--- Quote End ---  

 

 

Thank you for your answer. 

I want to build a board contains an FPGA like Xilinx Virtex 2 Pro 70 

The FPGA is used for signal processing (DSP).  

We are looking for the optimal language to write algorithms in the FPGA that will work in parallel.  

The language has to be simple to a DSP programmer that is not necesserily expert in the FPGA's hardware.  

This language will be used also for the infrastructure for data distribution to\from the FPGA, error report, and so on.  

 

Thanks.
0 Kudos
Altera_Forum
Honored Contributor II
305 Views

The best solution would be a NIOS or a Microblaze/PowerPC with ASSIP extensions

0 Kudos
Reply