Skip to content
Snippets Groups Projects
  1. Apr 11, 2022
  2. Apr 10, 2022
  3. Apr 09, 2022
  4. Apr 08, 2022
    • Byron Lathi's avatar
      add testbench for SD command tx · 38566f7b
      Byron Lathi authored
      Sends a few commands which we know the proper checksum for and makes
      sure that the bits on the output are correct.
      38566f7b
    • Byron Lathi's avatar
      Add SD Card controller for sending commands · f89ecfa0
      Byron Lathi authored
      Adds the start of the SD card controller which is capable of sending
      commands using the SD protocol.
      
      It is accessed by writing the arguments first and triggered by writing
      the command number.
      f89ecfa0
    • Byron Lathi's avatar
      Have valid crc when valid signal is present · 552fe8b6
      Byron Lathi authored
      Previously the crc would be reset after 1 clock cycle while the valid
      signal was still high. Now the data is preserved in the valid state
      until the load signal is asserted.
      552fe8b6
    • Byron Lathi's avatar
      Add tests for crc7 · 3e691094
      Byron Lathi authored
      These are just some values that I found from an example program. This
      does not test every possible value.
      3e691094
    • Byron Lathi's avatar
      Add crc7 module · e828df08
      Byron Lathi authored
      This module takes in a 40 bit word and generates the 7 bit crc7
      appropriate for an SD card.
      
      It does not use any fancy parallel algorithm, it does it 1 bit at a
      time.
      e828df08
    • Byron Lathi's avatar
      Fix indentation · f276c546
      Byron Lathi authored
      f276c546
  5. Apr 07, 2022
  6. Apr 05, 2022
    • Byron Lathi's avatar
      Add mm_testbench to gitlab-ci · 3c44be8e
      Byron Lathi authored
      3c44be8e
    • Byron Lathi's avatar
      Update cs_testbench.sv · d9474df5
      Byron Lathi authored
      d9474df5
    • Byron Lathi's avatar
      Add memory_mapper testbench · 2600a23e
      Byron Lathi authored
      This testbench simply creates the memory mapper, adds a mapping to the
      first entry, and then makes sure the addresses are correct after
      enabling and disabling the memory mapper.
      2600a23e
    • Byron Lathi's avatar
      Add memory mapper. · 194c4b45
      Byron Lathi authored
      Based on the 74ls610 but with some slight changes.
      
      The memory mapper works by having a 16x12 ram array. The top 4 bits of
      the address are used to index into this array, and the resulting word
      replaces those top 4 bits. In this way, a 16 bit address is replaced
      with a 24 bit address.
      
      As of now there is no way to write 12 bit values though, so currently
      we are using 20 bit addresses.
      
      There is a chip select line that allows you to write into the ram array,
      and another chip select that allows you to write to the control word.
      Currently the control word is just a single bit, the enable bit.
      
      When not enabled, the 4 index bits are passed straight through, and the higher
      bits of the address are replaced with 0, a sort of identity map. Once
      enabled, it operates as described above.
      
      Since the bottom 12 bits are left unchanged, the page size is 4kb.
      
      There are no protections so far, but might be added later, as well as
      the ability to actually use all 12 bits.
      194c4b45
  7. Mar 21, 2022
  8. Mar 18, 2022
  9. Mar 17, 2022
Loading