Where to find info on hdl

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Where to find info on hdl

The Gigabiter
Is there a complete guide to the hdl anywhere?

NOBODY told me ANY OF THE COMMANDS!
Hello, I am The Gigabiter(my official Net pseudonym because if you give out your real name on the Net you're hosed), also known as Major_Monogram, ElectroPaint and lightsofpahrump(and daniel-g-cs50 on GitHub but dont go poking around my repos 'cause there's nothing there). I enrolled because I was recommended the course....it may be a bit above my pay grade. I live in Pahrump, Nevada, which is basically the middle of nowhere. I like technology; electric stuff including lighting, telephones and electric clocks; and books. DONT EMAIL ME OR ASK FOR MY ADDRESS, PHYSICAL OR EMAIL!
Reply | Threaded
Open this post in threaded view
|

Re: Where to find info on hdl

WBahn
Administrator
Which edition of the text do you have? Both have guides in the appendices, with the second edition being quite a bit more detailed and organized.

By "commands" are you referring to the HDL language syntax itself? Or for writing test scripts? Or to running the simulator in the GUI? Or running it from the command line? A bit more detail about what you are looking for will help.

Have you looked at the HDL Survival Kit?
Reply | Threaded
Open this post in threaded view
|

Re: Where to find info on hdl

The Gigabiter
the language itself. I have looked at the sk but it isnt a complete guide to hdl.
Hello, I am The Gigabiter(my official Net pseudonym because if you give out your real name on the Net you're hosed), also known as Major_Monogram, ElectroPaint and lightsofpahrump(and daniel-g-cs50 on GitHub but dont go poking around my repos 'cause there's nothing there). I enrolled because I was recommended the course....it may be a bit above my pay grade. I live in Pahrump, Nevada, which is basically the middle of nowhere. I like technology; electric stuff including lighting, telephones and electric clocks; and books. DONT EMAIL ME OR ASK FOR MY ADDRESS, PHYSICAL OR EMAIL!
Reply | Threaded
Open this post in threaded view
|

Re: Where to find info on hdl

WBahn
Administrator
What, specifically, are you trying to find out?

The HDL is extremely simple and limited. All you really need to know can be gleaned by the Xor example in Chapter 2. The syntax and semantics are presented in Appendix A of 1ed and Appendix 2 of 2ed.

Here's my attempt at the grammar. This is being written on the fly, so I can't guarantee that it is correct or complete.

There are three comment styles that are supported: Block. End-of-Line (EOL), and API

/* Block comments can span multiple lines */
// EOL comments end at the end of the current line
/** API comments are special block comments that are used by some automated documentation tools */

The basic structure is:

CHIP <ChipName>
{
<ChipInterface>
<ChipImplementation>
}

The ChipInterface consists of the following:

IN: <PinList>;
OUT: <PinList>;

The PinList is a simple list of pin names

<PinName>[, <PinName>]*

I'm not sure of an empty PinList is allowed or not and, similarly, whether both IN and OUT lists must always be present (i.e., if a PinList for one is empty, is that line in the ChipInterface simply excluded). There is a built-in parts for which this is relevant, namely Keyboard.

The ChipImplementation is either a call invoking a built-in Java module, or a description of the interconnection between other parts.

<BuiltInImplementation> | <PartsImplementation>

The BuiltInImplementation is a simple call to the class:

BUILTIN <ChipName>

The ChipName is the same as in the Interface section. I don't know if it is legal to call a different chip (which might be useful to create an alias).

The PartsImplementation is a list of other chips and their connections:

PARTS:
<Part>*

The Part is similarly simple:

<PartName>(<ConnectionList>);

The ConnectionList is a list of pin-to-wire assignments:

<Connection>[,Connection]*

Again, not sure of an empty connection list is allowed, but it would render the part useless.

A connection is merely a single pin-to-wire assignment:

<PinName>=<WireName>

Reply | Threaded
Open this post in threaded view
|

Re: Where to find info on hdl

The Gigabiter
Got it thanks! you would not know how overjoyed I was!
Hello, I am The Gigabiter(my official Net pseudonym because if you give out your real name on the Net you're hosed), also known as Major_Monogram, ElectroPaint and lightsofpahrump(and daniel-g-cs50 on GitHub but dont go poking around my repos 'cause there's nothing there). I enrolled because I was recommended the course....it may be a bit above my pay grade. I live in Pahrump, Nevada, which is basically the middle of nowhere. I like technology; electric stuff including lighting, telephones and electric clocks; and books. DONT EMAIL ME OR ASK FOR MY ADDRESS, PHYSICAL OR EMAIL!
Reply | Threaded
Open this post in threaded view
|

Re: Where to find info on hdl

The Gigabiter
I just made an and chip!
Hello, I am The Gigabiter(my official Net pseudonym because if you give out your real name on the Net you're hosed), also known as Major_Monogram, ElectroPaint and lightsofpahrump(and daniel-g-cs50 on GitHub but dont go poking around my repos 'cause there's nothing there). I enrolled because I was recommended the course....it may be a bit above my pay grade. I live in Pahrump, Nevada, which is basically the middle of nowhere. I like technology; electric stuff including lighting, telephones and electric clocks; and books. DONT EMAIL ME OR ASK FOR MY ADDRESS, PHYSICAL OR EMAIL!
Reply | Threaded
Open this post in threaded view
|

Re: Where to find info on hdl

WBahn
Administrator
This first chip you should have made was the Not chip. Implementing an And chip directly from Nand chips (which I'm assuming is what you did) is certainly not hard, but it violates the chain of abstraction that the authors are trying to develop and instill as a way of thinking when designing and implementing complex systems. I'd really recommend implementing them in the order they are presented in the text.