Electronics > Beginners
modern TTL/Logic-gate/74xx
rstofer:
--- Quote from: edavid on October 07, 2019, 07:46:33 pm ---4. If you just hate VHDL, you should look at Verilog, which is not Ada like.
--- End quote ---
A strongly typed language, like VHDL, seems very helpful for newcomers. If the code compiles, there is a good chance the hardware will run. It isn't always true but it is true more often than not. If the code doesn't work and there is a finite state machine involved, I am willing to bet that one of the output signals doesn't have a default value. There are many painful reasons that I know this! If there is even a hint that a latch has been created, there is an error in the code. Pretty simple rule: No latches allowed!
I have made several half-hearted attempts to understand Verilog and I just haven't caught on. Of course, given that I know a bit about VHDL, I don't need to know anything about Verilog for my hobby projects.
What's to know? You need to be able to write an equation for combinatorial logic. Then add in a MUX and Demux, again combinatorial. Add in a clocked register and use it as a counter. Make a more complicated register process that accepts command inputs to load, clear or add 1. Don't forget a NOP command because the register will be clocked on every rising edge but is not expected to change just willy-nilly. This is a very useful construct for a program counter.
Now the big one: Learn how to code a finite state machine including default values. That's really about it. Of course, the devil's in connecting these primitive gadgets together to make something useful. But, really, there are only a few constructs used over and over. Get it right once and then copy-and-paste (conceptually).
Really, once you have an FSA working, the rest is just details. Some FSAs will be quite lengthy (like the LC-3 project, 64 states, some unused) others will have just a few states. But the code is the same! You have a clocked 'next state' process and a combinatorial process where the work gets done. I don't prefer the single clocked process model for an FSA.
Find a project, see how it is coded and then just copy-and-paste! It just isn't that difficult. Get something to work and keep expanding.
OpenCores.org has a lot of projects. Some simple, some complex. Download something and look at it.
ledtester:
You can also just use EPROMS:
hamster_nz:
If I was to descend into such madness it would be with a reel of 74AHC1G79 and 74AHC1G00 (about US$0.10 and US$0.07 each in qty 1,000), on two layer boards.
Would probably do 95mm x 95mm PCBs (if I could find a suitable way to mount them) to keep PCB costs down. I would have a generic PCB with footprints but flying wires for prototyping, and as design settles down / is tested then move to custom PCBs. The PCBs would always have a few spare footprints for bodges, of course.
Have no idea how I would do a backplane. A generic PCB design to hold connectors and supply power, and then use point-to-point wiring?
https://assets.nexperia.com/documents/data-sheet/74AHC_AHCT1G79.pdf
https://assets.nexperia.com/documents/data-sheet/74AHC_AHCT1G00.pdf
... however, you can bet that I would use a S/W tool to simulate everything first, and then possibly layout the PCBs, or at least generate a netlist file for KiCad.
And go full agile with a CD/CI pipeline.. ;)
ker2x:
Thank you all for the answers ! :-+
@hamster_nz : While it's technically possible to use only NAND gate, i will not descend that deep into madness. I'm planning to use all kind of gates. About agile, i wasn't aware that it was also a thing in electronic, i'll take a look.
@ledtester : yes, i did mention using eeprom (but it would be a totally different project that originally planned)
@rstofer : i don't want to use FPGA for this. i may end up using one, but if i do it will be for the non-cpu part of the computer. and my original plan is to use a microcontroller for this, not an FPGA.
@rstofer : i never heard about AM2900. But it seems to be very old. I want to use part that are still in production and usable by a PCB company for their pick & place machine.
@magic : sorry, my answer was a bit confusing and forgot to mention that i did indeed understood that you wrote "74HC", i'll take a look at LVC too.
@edavid : yes, i know this webring, i love it. I'll take a look again at CPLD. For me it was just an underpowered cheaper FPGA but it looks like i misunderstood.
@rstofer : yes, i have a few books. i have a scan of "digital computer electronics" (it's a 70's book). I'll take a look at the other book you suggested. I don't know about the ibm 1130. But i'm a big fan of the IBM 7090, i have a the emulator installed and i wrote some Fortran II code for it. I *almost* considered rewriting an emulator for it but gave up on the idea since i already have a working emulator (in Delphi ...) so i gave up on the idea. It's such a massive beast ... And everything is in BCD, not a big fan.
james_s:
If you don't like VHDL you could try the other popular HDL, Verilog. I'm not aware of much in the way of complex logic chips that are around anymore, 74xx is still handy now and then for a few gates or a counter but for anything more complex everyone just uses CPLDs or FPGAs. I started doing FPGA development several years ago and while it took me a while to get over the initial learning curve I don't find it all that hard now. The difficult part is designing the logic, describing it in VHDL is straightforward.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version