Mar. 10th, 2017

pheloniusfriar: (Default)
Well, I am finally back up to a basic operational level with Verilog coding... only to find out that the project I will be working with has been done in VHDL. While one language versus another is usually no big deal for me (okay, I hate C++, but I've been using it since the 80s when I worked on what was, at the time, the largest C++ project in the world and I'm good at it, but that doesn't mean I have to like it), VHDL has its roots in the Ada programming language D:. Why the grumblings? Ada was developed by the U.S. Department of Defense and is one of the most notorious Bondage and Discipline languages in existence. While B&D might be fine, it needs to be consensual and nobody ever asked me if I wanted the flagellations VHDL/Ada will entail ;).

It does remind me of an interesting side path in processor technology development from way back when... the Intel iAPX 432 system. By any measure, this was a complete failure for Intel (and the industry as a whole), but it introduced a number of features that we now see in most modern processors. I'm not going to go into it here, except to say that it supported object oriented data access and security control models at the hardware level, supported explicit hardware fault tolerance and multi-dimensional data busses, had superscalar processing elements, and so many other features that were too far ahead of their time (and thus made the system intolerably slow and cumbersome, and thus uncompetitive). I remember that the instruction set was actually a bitstream read into the processor in 32-bit chunks and parsed, and that instructions could be anywhere from 4 to 111 bits in length! It really was an engineering masterpiece, but I often mused that the people that worked on it must have been locked up in the loony bin afterward en masse (I think one of them went on to be CEO of Intel or something... maybe the same thing? Heh). Anyway, why I bring this up is the 432 was never meant to be programmed in assembly language or even "system" languages like C, but rather was designed such that Ada was essentially its assembly language. Perhaps that is another reason (maybe even moreso) for its demise ;). Sadly, VHDL is widely used in the electronics design sector, so it was inevitable that Ada would eventually catch up with me... I took two textbooks on VHDL out of the Carleton library on Wednesday and have started reading them. I am determined to progress, if equally resigned to my fate.

I'll make sure to leave a tube of lube on my desk as I work... it might make the proceedings a little more comfortable to me ;).

On a completely separate note, I am currently listening the heck out of Floex's album "Zorya" (Floex is the project of Czech composer, musician, artist, producer, etc. Tomáš Dvořák, who also did the gorgeous soundtracks for the delightful games Machinarium, which is where I first heard his work, and Samorost). The music on this album successfully pulls from so many different styles: prog, classical, industrial, pop, etc. and puts them together into what I find a very pleasing whole, blending acoustic instruments/sounds with synthesizers and samples. In particular, on one track (Forget-Me-Not), he plays piano and a clarinet without a mouthpiece that I can listen to over and over again... melancholy and evocative, it really floats my boat right now. The clarinet played like a trumpet has a very distinctive sound (to say the least) that makes that song stand out for me. There are many different moods throughout the album and even within the songs that keeps it interesting all the way through. It also features the best Yes song not by Yes I've heard in a while ("Precious Creature" featuring the vocals of James Rone), heh. You can listen to it free on his Soundcloud page (or listen to and potentially buy it at his Bandcamp site):

https://soundcloud.com/floex/sets/zorya

(the Soundcloud page is nice because it talks about some of the intruments and credits the other people that performed on the album... just click on "Show more...")

Edit: I started reading Douglas L. Perry's book "VHDL Programming by Example", Fourth Edition, McGraw-Hill, ISBN 0-07-140070-2. It bills itself as "the hands-down favourite user's guide to VHDL"; but good lard, what a disaster! I made it as far as page 4 and had already picked out typos and plain wrong information... the cruftiness was continued on page 5... and I have given up and tossed the book aside (gently, it's a library book). On page 4, they refer to the "counter device described earlier", but the only thing described earlier is a multiplexer (there's nothing else earlier in the book, this is the start of the book!). On page 5, it reprints a fragment of code from page 4 and says it's from the "architecture behave" code, but the code it is referring to is clearly "architecture dataflow". What a crock of shit (and it hasn't helped my opinion of VHDL any either, I might add, ugh). There does not appear to be any errata for this hunka-hunka-burning-turds. Let's try the other book I got from the library, sigh.

Second edit: I am now digging in to Peter J. Ashenden's book "The Student's Guide to VHDL", Second Edition, Morgan Kaufmann, ISBN 978-1-55860-865-8. I now know one of the reasons why VHDL has always seemed somehow wrong to me (while Verilog seemed a sensible approach in contrast). Quoting from the Preface: one pervasive theme running through the presentation of this book is that modeling a system using a hardware description language is essentially a software design exercise. And there you have it... VHDL became popular because it views hardware design as an exercise in software design. Since there are so many programmers in the world (thousands per hardware designer), it is a seductive statement that anyone who can write a program can design an integrated circuit. However, that is like saying that giving someone a Digital Audio Workstation (DAW) will allow them to effectively compose good music. Yeah, anyone using looping composition software can create something quite pleasing and often interesting, but it is not crafted in a way a trained composer or musician can do it. It is also much harder to innovate (music or hardware design) without deep training in the art in question. I find it interesting as well to note that there are thousands of folk musicians for every trained musician (I consider most rock, etc. kinds of folk music... and before you think I'm being snooty, I only do "folk" music myself in one form or another, and I have no pretentions about where my music fits into the spectrum of musical sophistication). I have done both serious hardware and software development (and I can do me a mess o' software... I've been programming complex and sometimes mission critical software for decades and I'm very good at it), but the two skillsets are radically different. Anyone with a VHDL compiler in one hand and an FPGA in the other can probably get something to work that'll do the job, but it is going to be sub-optimal in many potentially important ways (if not subtly buggy). This explains a lot of what I have seen lately with a number of ASICs, hmmm. The medium (VHDL) is the message.

I am starting to regret that I wasn't telling the truth when I said I'd keep lube by my side as I worked...

Profile

pheloniusfriar: (Default)
pheloniusfriar

September 2017

S M T W T F S
      12
3456 7 89
10 11 1213 141516
17181920212223
24252627282930

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 19th, 2017 01:20 pm
Powered by Dreamwidth Studios