|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
 
  |  | Register file:
  implementing |  |  |  |  | 
 
  |  |  | 
 
  |  | Destination register |  |  | 
 
  |  | DST Addr: destination
  register address |  | 
 
  |  | DST Data: data to store
  in destination register |  | 
 
  |  | Write Enable (WE)
  indicates when to write the destination register |  |  |  | 
 
  |  | WE = 1: write to the
  register specified by DST Addr |  |  |  | 
 
  |  | WE = 0: don't do anything |  |  |  | 
 
  |  | 2 bits of DST Addr tell
  which register to write |  |  |  | 
 
  |  | Want control input c of
  destination register to be 1 when WE = 1, |  |  |  | 
 
  |  | all other registers must
  have c = 0 |  |  |  | 
 
  |  | What device to use? |  |  |  | 
 
  |  | 2-4 decoder with enable
  or 1-4 DeMUX |  |  |  | 
 
  |  | choose decoder |  |  |  | 
 
  |  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  |  |  |  | 
 
  |  | parts list: |  |  |  | 
 
  |  |  | four parallel load
  registers |  |  |  | 
 
  |  | two 2-4 decoders |  |  |  | 
 
  |  | one 2-4 decoder with
  enable |  |  |  | 
 
  |  | eight tri-state buffers |  |  |  | 
 
  |  | three
  buses |  |  |  | 
 
  |  | anything else? |  |  |  | 
 
  |  |  |  |  |  | 
 
  |  |  |  |  |  | 
 
  |  |  |  |  |  | 
 
  |  |  |  |  |  | 
 
 
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |