Registers
Notes
- This is Carpinelli Chapter 7
- We have discussed registers before
- n data input lines
- n data output lines
- enable and a clock.
- We can easily consider building one of these with a set of d flip-flops.
-
- The 74273 is an example
- No enable, but a clear.
- A shift register is fairly common
- While we have not looked at it in depth, shifting is useful
- Division/multiplication by 2
- And, as we will see, for other things.
- I very useful register is single data input register.
- See the 74595 (we will look at this later)
- There is one data input bit.
- There is a clock and a shift control input.
- The data will be shifted across the register.
-
- This is useful if I have a single line for data.
- I transmit it in serial to the register, then read it in parallel.
- I can improve this by adding a "second register"
- This is loaded from the first on a clock signal
-
- The top register is a load "buffer"
- Put the data in this by shifting
- When that is done, load the "storage" register with load.
- The 74595
- Inputs include
- A oe output enable not line
- This controls the output from the data register.
- A single line driving 8 tri-state devices.
- A rclk or register clock
- This controls the transfer of data from the buffer to the register
- Simply the clock for all of the register flip-flops
- A crclr line that clears the buffer bits.
- A srclk line, the clock for the buffer
- A ser line, or input data.
- Outputs include
- 8 (QA - QH) output bits from the register
- 1 (QH') output of the value of the last buffer bit
- This allows chaining these chips to allow for more than 8 bits.
- Remember flip-flops can be built with a clear and a set line.
-
- Ben Eater builds an eeprom programmer with the 74595
- here
- It uses and Arduino nano
- This has a limited number of digital outputs.
- guide
- I know that this says 22 outputs, but some of these are not usable.
- This device has a usb port
- It can be programmed in c++
- And interact with a computer.
- He wants to program an eeprom chip that has
- 8 data lines
- 10 address lines
- Along with a Write Enable and a Chip Enable
- data sheet
- We have been building shift left (or double) registers.
- Can you build a shift right (or half) register?
- Could you build a sign fill shift right register?
- We could build a shift left/right/load register
- It takes n data bits
- A line for shift/load
- A shift direction line
- A clock line
- and possibly a fill bit.
- Use n 4 input multiplexors
-
- The digital file