• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Best books to learn the following languages: VHDL, MATLAB

McCartney

Senior member
Hi guys,

So I'm a computing science student who loves Math, a lot. A lot of people told me I should become an engineer because of how excited I am to take Numerical Methods I and II in my fall/winter semesters of 09/10 (Yes, I"m that excited, it's integrals in FREAKING CODE 😱) and my apparently-unstable mental state since I took Calculus 3 this past year when only 1 and 2 were required for the degree. :/ I just love math! So in order to prepare myself for Fall, and the lack of demands for getting a job (I'm taking differentials in Spring/Summer, more math ^_^), I decided I want to learn both MATLAB and VHDL over these 2 light semesters.

As such, I'm wondering what literature (online, paid/free doesn't matter) you guys would recommend to become a master of MATLAB and VHDL? I am planning to go into a low-level programming job when I'm done my degree, as in I want to be designing compilers for ARM devices or designing low-level programming language algorithms for applications in the everyday world. I know this is more of a job that's focused on VHDL-related programming, but the Numerical Methods is to make sure I have the choice of doing the prior or working for some sort of sports statistical company (Yes, I love sports and I love stats >_>).

Any recommendations on the 2 would be appreciated. And to boot, if you guys could recommend a good source to learn up on machine architecture programming that would be sweet as well.

Thanks guys.
Macca
 
yea... VHDL, I'd be really careful treading down a path like that. I won't say that it's a dead end street with a bomb at the end, but your life would probably be a lot more interesting doing almost anything else. Not to mention finding a job with a lower rate of suicide would be easier.

As for learning machine architecture, starting out with the Intel manuals could be one way. Free PDF downloads!
http://www.intel.com/products/...ssor/manuals/index.htm

 
Originally posted by: McCartney
But I like circuit-logic and gate logic... I'm very good at that sort of stuff,

Please? 🙁

Then save your sanity and learn Verilog instead. But its better to just learn about circuits, rather than how to describe them in Verilog or VHDL.

Edit: My response earlier was abrupt about VHDL because its primarily used for modeling digital circuits for engineering applications. It doesn't have much to do with 'low level programming' at all.
 
Learning Verilog or VHDL is akin to learning a programming language. Doing so gives very little insight into how to actually program (or design logic). It just teaches you how to express your program (or logic) once you understand how to actually design the program (or logic).

I can't recommend anything related to VHDL since I only know Verilog, but Verilog is rather straightforward to learn without a book. A good website to reference is:

http://www.asic-world.com/verilog/index.html

You'll need a Verilog compiler or simulator in order to mess around with it. I've personally used Verilator:

http://www.veripool.org/wiki/verilator

There are others, though, and a little Googling should turn them up.

BTW, as others have said, embedded system programming and compiler programming have basically nothing to do with Verilog/VHDL. These are _hardware description languages_, not programming languages, and are fundamentally different. They are for designing ASICs or for use with FPGAs.
 
I see,
will this stuff (Verilog) help me get accustomed to program to machine architectures? I want to build my toolset for helping design microcode for intel processors.
 
My info might be somewhat out of date. I took a couple of FPGA courses when I was doing my undergrad. We basically used Xilinx FPGA boards to create Finite State Machines (FSMs), program RAM/ROM modules (data structures), simulation (your basic elevator-type FSMs), etc. We used a book called FPGA Prototyping (not sure if it's still in print) which was pretty good. At the same time, we had a kickass teacher, so I guess my experience wasn't too bad. I don't know the state of things now, but from what I hear from a couple of buddies of mine is that Verilog kicks major VHDL ass. I am pretty sure Xilinx has boards and development kits for Verilog, too.
 
Originally posted by: McCartney
I see,
will this stuff (Verilog) help me get accustomed to program to machine architectures? I want to build my toolset for helping design microcode for intel processors.

You're still mixing up programming with Verilog. They are completely independent. When you write code in a programming language (whether it be C, assembly, or hand-written binary), it is interpreted by a microprocessor. Verilog is translated directly into hardware, i.e., gates. They are fundamentally different. Unless you plan to be designing chips, you won't need Verilog. Having said that it may be fun to learn anyway.
 
I would think that, as a computer scientist, MATLAB should be a piece of cake for you to pick up. The syntax is very similar to VB, and all of the functions are listed explicitly in the help files, which are very thorough and almost always include an example. I have no formal programming training and have used MATLAB extensively without ever picking up a book. I would recommend trying it out on some of your math homework to get the hang of it.
 
Originally posted by: McCartney
I see, will this stuff (Verilog) help me get accustomed to program to machine architectures?

Can you explain to us what you mean by program to machine architectures?
 
Originally posted by: McCartney
I see,
will this stuff (Verilog) help me get accustomed to program to machine architectures? I want to build my toolset for helping design microcode for intel processors.

VHDL - Very-High-Speed-Integrated-Circuits Hardware Descriptor Language. You won't write compilers with it, you would write the processor.

If you really want to get into it, I'd suggest getting something like an Altera DE1 or DE2 board that ($125 and $270 respectively) that let you program you own logic circuits and control some devices. Download Altera Quartus II Web Edition and you can try it out without the hardware too (I just find it more fun to actually run things on your board).

Xilinx has similar products too, however my school teaches Altera so that's what I know.
 
Geez. How can someone who chose CS major to be so dumb, and so confused about computers? Are you 9 years old? Ever heard of the site called "google"? How about you try searching for such keywords as "mathlab" and "vhdl"? What, wikipedia articles are too difficult for ya?
 
Originally posted by: michaelklachko
Geez. How can someone who chose CS major to be so dumb, and so confused about computers? Are you 9 years old? Ever heard of the site called "google"? How about you try searching for such keywords as "mathlab" and "vhdl"? What, wikipedia articles are too difficult for ya?

Can we like ban this guy, Mark? Talk about sanity...
 
Originally posted by: michaelklachko
Geez. How can someone who chose CS major to be so dumb, and so confused about computers? Are you 9 years old? Ever heard of the site called "google"? How about you try searching for such keywords as "mathlab" and "vhdl"? What, wikipedia articles are too difficult for ya?

Condescending much?
 
Originally posted by: Dhaval00
Originally posted by: michaelklachko
Geez. How can someone who chose CS major to be so dumb, and so confused about computers? Are you 9 years old? Ever heard of the site called "google"? How about you try searching for such keywords as "mathlab" and "vhdl"? What, wikipedia articles are too difficult for ya?

Can we like ban this guy, Mark? Talk about sanity...

Can we mock him instead of banning him?
 
if you want to do low level programming then you should definately go into computer engineering.

vhdl and matlab is what you use as a computer engineer or electrical engineer.

classes to look into:

Digital System Design (programing in VHDL on an FPGA board, we made a game)

Signals and Systems (you'll use matlab to filter sound, pictures and different signals)

Embedded Systems (here they make "space invaders" on an FPGA)

Real-time Operating Systems

Introduction to Digital VLSI Circuits

-----

do you have linear algebra done too? then you'll just need differential equations.

Electrical Engineering and Computer Engineering are just few classes different. You can do Electrical Engineering and still cover the computer engineering classes.

But I like circuit-logic and gate logic... I'm very good at that sort of stuff,

why are you in computer science? they abstract all that away.
If you like digital logic then you need to do engineering.
 
I would highly recommend doing some EE classes, EE major so i'm bias , but I do so many logic designs and such using xilinx. DE, fun class, good luck. When i took the class, you use a-lot of proofing from previous courses( think CAL 3, CAL 2, linear algebra, )
 
Back
Top