[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [oc] A 'core server' ?
>
> > But why don't you use C?
>
> 1) C is non-trivial to parse
The idea was very simple - to write C program which generates
.v or .chdl file.
> 3) (Most exciting) Scheme corresponds very closely to the
> internal representation used by gcc. A first step is
> to develop code to translate Scheme to HDL and vice versa.
> The next stage is to glue this code to gcc. The result is
> ability to develop powerful chips using
> VHDL/Verilog/C/C++/Java/Ada/... It should also be possible
> to automatically translate between languages.
:)
Personally I don' t believe in C to verilog translators, since it
is then quite impossible to generate good logic from HDL.
Maybe for testbenches.
> I don't think using generators reduces freedom. As you
> say, any such generator must be GPLed. It must also be documented.
> It does not have to be difficult to use. A GUI could
> be provided. Alternatively, provide a user interface similar
> to the /proc filesystem of linux. That way you just access
> a core as if it were a HDL file on disk. Given a HDL to
> Scheme translator, developers should be able to work in
> the HDL of their choice.
If you want to use same RTL (register transfer language) tree
representation as gcc uses internally, it is quite a lot of work to
translate from verilog. How would you translate bunch of
always constructs? I suppose you need to make whole
HDL simulation for that.
> I would argue against extending HDLs. Both Verilog
> and VHDL are standards. By violating standards cores
> become less portable. A mechanism similar to what you
> suggest is available in VHDL (generate statement),
> but it is not powerful enough to be truly useful.
I don't think portability will be reduced, if we provide links
to binaries at OC website.
I don't like extensions either but I like them more than
other proposals. Since there are some standards, trying to
cover the same things, I think we should use them.
> widths. For example, in an FFT it would be nice to have the
> number of dimensions as a parameter. A second example,
> all the bit widths in an FFT need to be matched in a particular
> way to obtain the minimum quantisation noise for a given
> amount of hardware resources. It would be nice to build this
> complex calculation into the generator so the user just needs
> to specify and input width or an output width or even
> just an SNR.
Of course, I was thinking of the same thing, but examples were
very simple. Why can't you do this using verilog-2000?
I would say, that Verilog generate statement is as powerful as C.
You also have floating point.
What do you think it is not possible to code?
best regards,
Marko
--
To unsubscribe from cores mailing list please visit http://www.opencores.org/mailinglists.shtml