R
Rick C
Guest
On Friday, January 31, 2020 at 10:53:52 AM UTC-5, David Wade wrote:
While I tend to think in terms of the logic involved and write my HDL to describe the logic I have in mind, not everyone works that way (many call this RTL coding).
Once I was interviewing for a job and when asked I described this method of designing. The lead engineer of a Japanese team disagreed saying they didn't have time to optimize the code so they wrote to describe the behavior instead (many call this behavioral coding). I was trying to point out that the two do not need to be in conflict, that an RTL coding style can be used to describe behavior with little or no additional effort. The lead engineer disagreed and we discussed it a little. When I was in touch with the recruiter he asked me about the "confrontation"! I didn't realize there was a confrontation. lol Obviously there was not a good match of cultures.
Yes, I wish there were better terms to describe programs written to run on sequential processors to distinguish them from programs written to describe hardware. The emphasis these days is to try to merge the two so the entire application can be written in one language and different layers can be implemented in either domain as best suits the particulars of the system being designed.
Just some thoughts...
--
Rick C.
++ Get 1,000 miles of free Supercharging
++ Tesla referral code - https://ts.la/richard11209
On 30/01/2020 19:34, gtwrek wrote:
In article <r0u7pd$i5k$1@dont-email.me>,
David Wade <g4ugm@dave.invalid> wrote:
Interesting question. You write a hardware description language so what
you produce must be the "Hardware description"...
I personally am quite happy to call the HDL source code an "Program" or
an "hdl program".
A "program" really is just a list of instructions. Just as "g-code" is a
programming language used to control a 3-d printer or milling. machine,
VHDL is a programming language that is used to "program" a "logic
synthesisers" which generates the bitstream.
Not trying to dig or start a flame here... But when I hear someone
describe Verilog or VHDL as a "program", I'm almost certain to
(prejudge) that such individual is a newbie, or inexperienced at FPGA
design. Thinking of traditional "programs" or "list of instructions" when
designing an FPGA is certainly the wrong mindset.
FPGA vendors would love to think that there new wonderful C like "High
level languages" are just super programs that make things run fast on an
FPGA. But they're nothing of the sort. One "designs" with an HDL akin
to how one designs with a schematic.
correct.
While I tend to think in terms of the logic involved and write my HDL to describe the logic I have in mind, not everyone works that way (many call this RTL coding).
Once I was interviewing for a job and when asked I described this method of designing. The lead engineer of a Japanese team disagreed saying they didn't have time to optimize the code so they wrote to describe the behavior instead (many call this behavioral coding). I was trying to point out that the two do not need to be in conflict, that an RTL coding style can be used to describe behavior with little or no additional effort. The lead engineer disagreed and we discussed it a little. When I was in touch with the recruiter he asked me about the "confrontation"! I didn't realize there was a confrontation. lol Obviously there was not a good match of cultures.
Comparing to instruction based CPU's just doesn't fit, which is (in my
mind) what "programs" traditionally do.
Thats what typical modern programs do. But that is a very narrow use of
the word "program" Those of us who are old enough to have programmed
an analog computer may recall that we did so by physically wiring analog
adders, integrators, comparators and other components together.
In fact using a very similar process to that we use to configure an FPGA.
Going back to Eniac that was also "programmed" with wires and plug boards..
so whilst many folks assume a "program" is restricted to digitl
languages, historially it was applied to other processes..
Yes, I wish there were better terms to describe programs written to run on sequential processors to distinguish them from programs written to describe hardware. The emphasis these days is to try to merge the two so the entire application can be written in one language and different layers can be implemented in either domain as best suits the particulars of the system being designed.
Just some thoughts...
--
Rick C.
++ Get 1,000 miles of free Supercharging
++ Tesla referral code - https://ts.la/richard11209