I am new at fpga design,I know that verilog is a hardware programming language,but many of people are c programmers,is there a way to write hardware programms with c language? is there a way to convert a c program to its equivalent verilog program?
please if there are softwares that do this ,give their sites.
I used HandelC from Cel*oxica for a while and I'm very satisfied with it, it's very intuitive and it can really shorten the development time. It's a mix of ANSI C elements with specific constructs for hardware (for example parallel modules). You can interface it with VHDL/Verilog modules if you need more low-level functionality, but this won't happen too often. Try hxxp://www.celoxica.com for more details.
If your have a core in the EDIF format you can use it with your application. I did it some while ago and I can't remember the whole process very clearly. Anyway, you should get the EDIF file from HandelC and the EDIF file for your IP core and let the FPGA tools do the mixing between them. I believe that the program that does this for Xilinx is "par" (place and route), though I might be wrong. If you want I'll take a look at my old sources and probably I'll find the exact procedure somewhere.
hello ram
Though C is powerful to design software, i think it is not very professional to design hardware.
In special, cpld or fpga has more flexible, implementation in C is more difficult.
C to VERILOG .. no way !
i'm sorry to be brutal !.. but HANDEL-C is not an easy C . nor is verilog .
The reason is C is a SEQUENTIAL language .but VHDL,verilog are parellel languages .though the language has a lot of similarities ,there are less than there
are more similarities .Defining wires variables .. and other critters is only 10 % of the language .When you need to specify parallel structures all your C SKILL are NO GOOD . you will have to learn a new PARADIGMS to express them .in that case
why not learn VHDL or verilog .. but c is of no HELP at most !
handelC is a nice parallel language but is a C augmented with parallel constructs.
a C programmer can't convert to parallel by magic .He needs to be aware of the LOGIC he is using .HandelC has PRIMITIVES that correspond to logic elements present in modern FPGAs .. so you need to be current on those to be able to instantiate them !
Hey,
I dont intend to be hard, but just for the reason that you are sofware programmers dosent mean that you should not learn verilog or vhdl or also that you can somehow get things done in your same old way. When you want to do hardware which is necessarily different from software, it behooves to use the methods meant for it. So dont try to cut short or you'll be staring at the redline later on. learning verilog for people knowledgable in C is not at all difficult, just pick out the samir palnitkars book on verilog and you should be on to things within 4hrs. But getting what you want is going to take some time depending on your efforts.
Its more important to understand the design and operation of logic itself than the language.. If your going from a C background I would just recommend going to verilog since the syntax is similar. It would be more benefitial to read a logic book or two, then a verilog syntax book, followed by a verilog synthesis book..
Its not a easy road.. but thats how i would handle it..