• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Selection of register

Status
Not open for further replies.

Parth86

Member
Hello
Suppose we have several registers than how to enable only one. Look at picture, there are two registers. I can load data from one register to another. but when there are several registers i don't understand how to enable only one. I want to add R3 register. How to connect R3 register?
Circuit_register.png
 

Les Jones

Well-Known Member
Most Helpful Member
To connect register R3 just break the 4 data lines along the bottom of the schemaitic and insert a copy of U4a, R1 and U3A (We will call these inserted items U6a, R3, U5a) The inputs to U6a come from U3B and the outputs of U5a connect to the inputs of u4A. Can you explain why you are using the tri state buffers when the quad latches have tri state outputs and input enable pins ?

Les.
 

kubeek

Well-Known Member
Most Helpful Member
I don´t think you need the 74HC244s at all, because the 74HC173 already has a tri-state output controlled by the OE pins, and also has input enable on the E pins.
Normally you would have an input bus connected to inputs of all your registers, and an output bus connected to all outputs from those registers.
All you need then is one 74HC244 that makes the connection from the output bus to the input bus, to allow you transfer contents of one register into another.
 

Pommie

Well-Known Member
Most Helpful Member
If you arrange the circuit so it has all inputs and outputs wired together (all D0 and Q0, D1 Q1 etc.) so you have a 4 bit data bus. Then the read 173 has it's output enabled and the write 173 has it's inputs enabled. The next clock pulse will transfer the data. Not a single 244 needed.

Mike.
 

Tony Stewart

Well-Known Member
Most Helpful Member
U need a tristate latch out for any stored result that does not need to be updated in real time on shared outputs.
 

Parth86

Member
I don´t think you need the 74HC244s at all, because the 74HC173 already has a tri-state output controlled by the OE pins, and also has input enable on the E pins.
Normally you would have an input bus connected to inputs of all your registers, and an output bus connected to all outputs from those registers.
All you need then is one 74HC244 that makes the connection from the output bus to the input bus, to allow you transfer contents of one register into another.
Actually bus is set of wires so why not use wires in place of bus . As you said I tried but Mike said I don't need to use hc244.
 
Last edited by a moderator:

kubeek

Well-Known Member
Most Helpful Member
Actually bus is set of wires so why not use wires in place of bus . As you said I tried but Mike said I don't need to use hc244.
I don´t really undestand. I don´t care if the four data wires are bundled in a bus the way your program shows it or are standalone four wires, it still is a bus.
I am even less sure about what you tried or not. You need to start with the general concept, just draw boxes like register or alu and show how they are connected and what singals control what is written where.
 

Les Jones

Well-Known Member
Most Helpful Member
I totally agree with kubeek. In your first post you do not say what function you want the circuit to perform. All the original circuit is capable of doing it to copy data from one register to the other. There is no way of initially entering data into the registers. In post #5 you have totally changed the function of the circuit. With that circuit you can select which latch (Register.) you write data to from the input bus and you can select which latch puts it's data onto the output bus.

Les.
 

Parth86

Member
I totally agree with kubeek. In your first post you do not say what function you want the circuit to perform.

Les.
Hello
Okey, let's suppose I have three registers. I want to do following function.
MOV R1,R2
MOV R1,R3
MOV R2,R3
MOV R2,R1
MOV R3,R1
MOV R3,R2
than I started to make as Kubeek said
electro tech 2.png
. But I don't understand how the output data goes to input of one register?
 

Les Jones

Well-Known Member
Most Helpful Member
IF THAT IS THE ONLY FUNCTION YOU WANT THE CIRCUIT TO PERFORM then you only need a common bus which would be connected to both inputs and outputs. If it was connected like that then :

MOV R1,R2 Enable R1 out, enable R2 in, pulse the clock line.
MOV R1,R3 Enable R1 out, enable R3 in, pulse the clock line.
MOV R2,R3 Enable R2 out, enable R3 in, pulse the clock line.
MOV R2,R1 Enable R2 out, enable R1 in, pulse the clock line.
MOV R3,R1 Enable R3 out, enable R1 in, pulse the clock line.
MOV R3,R2 Enable R3 out, enable R2 in, pulse the clock line.

Another way you could connect it would be to have a tri state buffer between the output and input bus's in your circuit in post #11 and enable it's outputs when you wanted to move data.

Les.
 
Last edited:

kubeek

Well-Known Member
Most Helpful Member
But if you want to use the input data "connector" then like I said, connect a 74HC244 between the output and input bus. That will allow you to connect the output bus back to the input bus and move anything anywhere.
 

ChrisP58

Well-Known Member
Most Helpful Member
You need to think of the buss as a hallway, and the registers as closets on the hallway. Each closet has two doors, one for putting data into the closet, and one for taking data out. You need to open one, and only one, 'out' door at a time. And open one or more 'in' doors. Then initiate the transfer.
 
Status
Not open for further replies.

Latest threads

EE World Online Articles

Loading
Top