S
Spur
Guest
I'm quite new to VHDL (about 6 months), but have a lot of
experience with C (and programming in general, about 5 years).
I've written good amounts of VHDL code already - some
for synthesis, but most for test-benches. As I read the web,
books and this group, I see even more advanced test-benches
coded purely in VHDL (mine are not trivial either - they read
and write vectors to files, with Perl scripts comparing
results).
Not long ago I discovered the VHDL Foreign Function Interface
(The Modelsim's API), played
with it a little, managed to compile and run it. Now I've promised
myself to code the next test-bench in C++, using this FFI (the
API is in C but provides for a wrapping in C++ code).
My decision gets a reinforcement when I read some of the recent
posts in this group. For example, VHDL strings (using lines of
textio, and other features), VHDL pointers, etc... I can't help
thinking - in C++ it's much easier. Why not leave the VHDL purely
for the designs, as a HARDWARE Description Language, and use C++
for testbench/simulation, where it's far superior to VHDL.
So, what do people think ? Why is VHDL still used for complex
test-benches, why people invent crazy hacks to do something
C does trivially ?
Lack of knowledge of C ? Lack of a FFI ?
experience with C (and programming in general, about 5 years).
I've written good amounts of VHDL code already - some
for synthesis, but most for test-benches. As I read the web,
books and this group, I see even more advanced test-benches
coded purely in VHDL (mine are not trivial either - they read
and write vectors to files, with Perl scripts comparing
results).
Not long ago I discovered the VHDL Foreign Function Interface
(The Modelsim's API), played
with it a little, managed to compile and run it. Now I've promised
myself to code the next test-bench in C++, using this FFI (the
API is in C but provides for a wrapping in C++ code).
My decision gets a reinforcement when I read some of the recent
posts in this group. For example, VHDL strings (using lines of
textio, and other features), VHDL pointers, etc... I can't help
thinking - in C++ it's much easier. Why not leave the VHDL purely
for the designs, as a HARDWARE Description Language, and use C++
for testbench/simulation, where it's far superior to VHDL.
So, what do people think ? Why is VHDL still used for complex
test-benches, why people invent crazy hacks to do something
C does trivially ?
Lack of knowledge of C ? Lack of a FFI ?