CREATING PROGRAM COUNTER

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

CREATING PROGRAM COUNTER

Dan1984mor2017


Is this close to a program counter? Im confused.
Reply | Threaded
Open this post in threaded view
|

Re: CREATING PROGRAM COUNTER

WBahn
Administrator
Why are you using all of these parts that are at very primitive levels? The idea is to build increasingly more complex logic structures using the results of previous results.

What does this "x16" block provide?

Loot at your RESET logic. Regardless of whether all of the stuff to the left of your output multiplexers is correct or not, you are saying that when the RESET signal is asserted you flip all the bits in the value that would normally be output and as soon as the RESET signal is relaxed you revert back to what it would have been had reset never been changed. Does that make sense?
Reply | Threaded
Open this post in threaded view
|

Re: CREATING PROGRAM COUNTER

Dan1984mor2017
If I am going to write the HDL file I need to know how to chips work. I understand that trying to create them this way seem tidious but it really clearifies with me how to chips work. The program that I use to make the chips is Logism. It does not possess certian chip that I already created. So, I limited in a sense because I can only work with the basics. I was hoping instead of just looking up the visual diagrams on the internet and then creating an HDL file based on what others have made I could just do it myself. In a way I feel that I would not be cheating myself out of an education. I know how to do the HDL work but I wanted to do it the hard I suppose. So, I been trying to create the chips all on my own. Im restricting myself from just looking up the ones others have created already. Besides even though the Nand2Tetris is offered online as a certificate this is kinda like my hobby. But I would like to evetually possess a certificate.
That would be great. Yet I dont want to cheat myself out of an education. So, Im creating these chips one by one and getting a firm understanding how they work. One success was creating a 16bit adder chip. I was assounded to find out just exactly how it worked. And I created it myself! The goal I have eventhoguh I know I cant create chips like a Ram 8k or so on because of the limited power of my computer and the software I use some of them I can. But if I am going to create the HDL file I have to know the parts to be connected.
Reply | Threaded
Open this post in threaded view
|

Re: CREATING PROGRAM COUNTER

WBahn
Administrator
You still seem to be missing a big point of the whole project.

You shouldn't need to go out and find the design somewhere that someone else did and then just copy it. That, indeed, will cheat you out of the educational opportunity.

But NOT using the chips that YOU have designed also cheats you out of an educational opportunity.

You mention that you learned a lot by creating the 16-bit adder chip. That chip, which you understand how it works inside, should now become a building block at that level as you make more complex designs. If you need to add two 16-bit values, use your 16-bit adder chip. Don't fall back and wire up 32 more primitive chips. If you are going to do that, why use And and Xor gates? Why let yourself use Mux gates? Why not go all the way down to the Nand and DFF gates that everything reduces to in the end? What's the point? It adds nothing to your further understanding -- in fact it likely makes it harder to learn the bigger-picture understanding of how the more complex circuit works at a functional level.

If you feel the need (or desire) to use Logisim for your simulations instead of the provided hardware simulator, then learn how to create subcircuits in Logisim so that you can create comparable parts, such as a 16-bit adder, and use those as your building blocks.

But, leaving all of that aside, you still have the issue I point out with your RESET logic (and which is also present in other places in your design).