TTL COMPUTER BY ALESSIO LOMBARDO
[HOME] [WORKLOG] [HARDWARE] [CONTACT-ME] [ ]
This is the page dedicated to the Worklog that is the "Diary" of the construction of this ambitious project. The site was created at half of the work. So the initial part of the project is not told in detail. Click on photos to enlarge.
... ... ...
The TTL Computer running for the first time with the breadboard for entering the commands
Built another part of the Control Board card who is now 50% complete.
The design of the Control Board card is almost complete and the first part is realized. Now it is complete at 10-15%
The Control Board card still incomplete
The Control Board will be composed of two distinct parts. The first part, already designed, will connect the "Control Panel" with the other two sections of the project (Registers and ALU). In the other part, still to be designed, will attend the power management.
Start the design of the last part of the project in the Lite version: the Control Section.
Began collaborating with Gregorio Candolo (http://gogoblog.altervista.org), a promising Web Designer and my classmate. He has created a new version of the website displayed here.
I finally completed the ALU Core card and the ALU Register card. Now the ALU section is over.
On the left, the ALU section completed. On the right, a test of the ALU Register card
The site has been added to "Homebuilt CPUs WebRing", founded by David Brooks, the creator of the Simplex-III. The WebRing can be viewed in the English Home Page.
Publication of the site on the definitive address: http://alessiolombardo.altervista.org/ttlcomputer
Worklog page is translated completely. I remove the Software page. It will be retyped when I will build the full version.
Worklog page is translated at 75%. Now is missing the translation of this month.
Worklog page is translated at 50%. I took a picture of the current ALU section.
The ALU section still incomplete. In the upper right the "ALU Core" card, in the upper left the "ALU Internal Bus" card (complete) and on bottom the "ALU Register" card
Bad news: the electronics store is closed until the end of August. So I can not continue the two cards of the "ALU" Section still incomplete. In the meantime I will dedicate myself on the translation of this page.
Continue the design of the future "Control Unit". I'm having many problems because of the large number of "commands" to manage. New Small improvements to the AL-Compiler.
Redesign of the "Hardware" page and removal of the "Photogallery" from the site. Starts the translation of this page from Italian into English.
I conclude the final version of the 3D model of the Lite version. I describe in Italian and English the characteristics of the Registers section and the ALU section. Added the page "Contact-Me" to contact me by email. I change the name to the assembly language from LSC-Assembly to AL-Assembly. In addition the Compiler from LombySoftCompiler becomes AL-Compiler.
I weld another part of the card "ALU Register" that is now complete at 75-80%. I have also concluded the scheme of the architecture of the project in Lite version (it is displayed on the Hardware page) that I drew with Power Point.
Starts the translation of the site in English. In particular, I finished the translation of the pages "Home", "hardware" and "Photogallery".
I conclude the logical diagram of the "Full" version. I also represented the scheme of the FLASH and SRAM memory.
Logic Diagram and representation of the memories of the "TTL Computer Full"
On Spreadsheet, starts the logical design of the future "Control Unit" who will manage the two memories, the "special purpose" registers (IP, ABR, IR) and the various buffers and counters.
Redesign of a part of the card "ALU Register": it was removed the LED Visualizer and 16 Pull-Down resistors were inserted in the Data Bus. In this way, the bus may never be in the "High Impedance" state. Updated the page "Photogallery" with pictures of the cards of the Registers section. I start to develop on paper a more detailed diagram of the project in "Full" version.
I weld another part of the "ALU Register" card which now has approximately 30% complete. Also I develop with SketchUp a new 3D model of the project in the Lite version.
3D model of the "TTL Computer Lite"
Born the pages Software and Photogallery. The site is currently published on "libero.it" at http:/digilander.libero.it/antox.xp. I weld a small part of "ALU Register" card and I take photos at the ALU section.
The "ALU Internal Bus" card complete
The "ALU Core" card (on bottom, almost over) and "ALU Register" card (on top, still largely incomplete)
Born this site (locally) dedicated to the project TTL Computer. I create the pages Worklog and partially Home and Hardware
The Registers section is completed on July 2 with the construction of the "Registers B" card. After a "holiday" for a week,on the 11th of july, i test thoroughly the registers section and in a short time I complete also the design of the ALU.
Test of the Registers section with the voltage regulator. Is tested only one bit at a time
Then I began to build the card "ALU Core" but a serious design problem interrupts me. In fact, the outputs "A = B" of the ALUs are open collector, so I had to insert four "Pull-Up" resistors. Meanwhile, I step forward: I make the card "ALU Internal Bus" and I begin to build the card "ALU Register". Meanwhile, I begin to design the "Full" version. After many attempts I finally designed a diagram rather complete but it is very different from conventional microprocessors. I also worked on the software side of the "Full" version and therefore I realized, with "Visual Basic. NET", a small compiler for the Assembly-LSC language. It is not yet complete: work only the encoding of the instructions of the Registers. At the moment I called the compiler LombySoftCompiler and of course it recognizes only the syntax errors of the Registers section.
The LombySoftCompiler running on Windows 7. In the red rectangle the code relating to Registers
May - June 2011
In these months I have more time to dedicate to the project, especially after the end of the school. I started seeking a good CAD program for the creation of wiring diagrams. At the end I chose FidoCAD, an Italian and free software unfortunately no longer supported since 2003. I had used it in the past for an old project and therefore I began the work of design of the Registers. The design was more difficult than I thought and it lasted several days.
Design of the "Registers Decoder and Selector" Card, afterwards "Registers Control Unit"
After piercing the edges of the matrix board (to insert the spacers), I started to weld them. As wire I decided to use the common twisted pair. As tin I used what I had already: an alloy of Tin-Lead 60/40. During the welds often I used a mask and a glove for the left hand (with which I held the tin) because of the Lead that in large amounts it is dangerous for the organism. Then, instead of the glove, I twisted adhesive tape in the fingers. Also sometimes I used a fan to expel the smoke (and especially for the heat!).
Piercing of a card (on the left) and insertion of metal spacers between 2 cards (on the right)
Simultaneously with the construction of Registers, the design of the ALU section was in progress. The first card to be completed is the "Registers A", followed by the "Control Unit". Finally I realized the card "Data Bus". Obviously, problems are not wanting. For example, the "Female" connectors were not compatible with those "Male" and therefore I had to buy back all the "Male" connectors (some had already been welded and I had to unsolder them). In addition, the 15mm spacers were too short and I will replace with 20mm spacers. Even some "DIP sockets" were incompatible with the ICs and therefore I had to buy back even these.
The "Registers A" Card without the connectors and with only one register view from above (on the left) and during a test (on the right)
March - April 2011
The study of the "Microprocessor System" studied at school suddenly wakes up the ideas of the project. I could not make a card for each operation... AND, OR, Increase, Negation, Addition, Subtraction, etc... I needed an ALU (Arithmetic Logic Unit). Conducting research I realized that I had to look for a 74181, able to realizing up to 32 logical and arithmetic operations. Rather, four 74181 because a single IC can make only 4-bit operations. Also once again I decided to expand the project: I could use the "registers" to keep the data for reuse. I still seemed excessive to use a RAM and therefore I decided to use nine registers, four for operand and one for the result.
Document of the project similar to the future version "Lite". Can be noticed the 9 registers and the ALU
At this stage the passage had occurred: from "Calculator" to "Processor". I started looking for the ICs that I needed but with scarce result. In the trusted electronics store there were not many ICs. So I decided to register to the site "RS Components", a company specializing in this area. Nearly all the ICs and many passive components i will buy it from here. With the assistance of Data Sheets found online, I began to develop the first diagrams on paper and prototypes on breadboards.
Prototype of a register (on the left, with the truth table and logic diagram of the future "Section logs") and prototype of a 4-bit ALU (on the right)
Fact this, I also began to think of the realization on matrix board. I discarded immediately the idea of the "motherboard" that is the single board: it is too bulky and especially too difficult to design and build. I decided however to create a modular structure, where each card is attached to the other with the connectors. In this way is possible eventually remove a single card and update it if it has any defect. So I built a 3D model with Google SketchUp Software, that already I used it for other purposes. Also I decided to divide the project in two parts. That is, a "Lite" version, where each computation is manageable only manually, and a "Full" version, where it is possible to run small programs using a memory and peripherals. Of course I decided to dedicate myself only to the "Lite" version.
3D Model of the project in "Full" version
January - February 2011
But why stop at only do simple additions? This caused the "real" project, from this simple question. I thought of creating expansion cards to be inserted in the card of the operands. By inserting the correct card it could make the requested operations. However, for lack of time, these ideas remained only abstract and for a long time the project was shelved.
October - November - December 2010
The project started in October 2010. After studying at school the Boolean algebra and the binary numeral system, dI decided to build a small 8-bit binary adder on a breadboard. After conducting research I found the suitable ICs that is 2 simples TTL 74283.
Photos of the 8bit binary adder
Just finished, I realized that I could improve it, make it more complex and with additional functions. So I designed on paper a method to "scroll" the two addends with the use of 2 binary counters 74393. Then I added the "binary to 7 segment" decoders to control the seven-segment displays. However because i cannot be found the decoders i abandoned this idea. Using a NE555 in astable mode as a clock I made a clock capable of increase the binary counters. Also the project up from 8-bit to 16-bit (that are not few for a homemade system).
Documents of some ideas of the project. On the left the fully project (8-bit) , on the right one of the operands (16-bit)