Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This manual serves as a guide for utilizing the C3V-W Dual (LPDDR4) EVB. The C3V-W Dual (LPDDR4) EVB comprises two subsystems: one is Master C3V-W subsystem, which operates Linux software, and the other is Slave C3V-W subsystem, offering additional 3.75 GiB DRAM, a NPU, and various peripherals (including USB3, SD card, GPIO, and more). Please refer to the functional block diagram of the C3V-W Dual (LPDDR4) EVB. The Master C3V-W subsystem features 8 GiB eMMC, 8 GiB LPDDR4 SDRAM, an SD card slot, USB3 Type C port, and a 10M/100M/1000M Ethernet port. On the other hand, the Slave C3V-W subsystem includes 8 GiB eMMC, 8 GiB LPDDR4 SDRAM, an SD card slot, and USB3 Type C port. The CPIO is engineered with three primary objectives:

  1. With mounting two NPUs, NN computing power is doubled.

  2. With mounting another 3.75GB DRAM on slave C3V-W, comprise 11.75GB DRAM totally, for LLM testing.

  3. Test the CPIO functionality.

The original design purpose of CPIO is to allow C3V-W to connect to a P-chip (peripheral chip) through CPIO bridge. The P-chip is a custom-designed peripheral. C3V-W, the C-chip (computing chip), can connect to either a P-chip, or another C-chip.

The C3V-W Dual (LPDDR4) EVB comprises two subsystems: one is Master C3V-W subsystem, which operates Linux software, and the other is Slave C3V-W subsystem, offering additional 3.75 GiB DRAM, a NPU, and various peripherals (including USB3, SD card, GPIO, and more). Please refer to the functional block diagram of the C3V-W Dual (LPDDR4) EVB. The Master C3V-W subsystem features 8 GiB eMMC, 8 GiB LPDDR4 SDRAM, an SD card slot, USB3 Type C port, and a 10M/100M/1000M Ethernet port. On the other hand, the Slave C3V-W subsystem includes 8 GiB eMMC, 8 GiB LPDDR4 SDRAM, an SD card slot, and USB3 Type C port. The CPIO bus connects both subsystems together.

...

3. Map of Addressing Space of Master C3V-W.

Refer to the map below for addressing the address space from view the perspective of Master C3V-W when using 8 GiB LPDDR4 SDRAM is used:

...

    ...

    • Lower 3.75 GiB

    ...

    • Space: This is mapped to the bottom 3.75 GiB of the 8 GiB DRAM

    ...

    • in the Master C3V-W subsystem.

    • Device Registers (0.25 GiB): A contiguous 0.25 GiB space is allocated for device registers specific to the Master C3V-W subsystem.

    ...

    • Upper 4 GiB

    ...

    • Space: This is mapped to the upper 4 GiB of the 8 GiB DRAM

    ...

    • in the Master C3V-W subsystem.

    ...

    • Slave C3V-W Subsystem (4 GiB): Starting from address 0x2 0000 0000, a segment of 4 GiB is dedicated to the Slave C3V-W subsystem.

    ...

    • Remaining Lower DRAM Space (0.25 GiB): The final 0.25 GiB space, commencing from address 0x3 0000 0000, is allocated for the remaining portion of the lower 4 GiB of the 8 GiB DRAM

    ...

    • in the Master C3V-W subsystem.

    In this configuration, the address space beginning from 0x2 0000 0000 is specifically assigned to the lowest 4 GiB space of the Slave C3V-W subsystem through the CPIO interface. Consequently, if the CPU of the Master C3V-W board intends to access the DRAM of devices on the Slave C3V-W subsystem, it must reference the base address of the CPIO interface. Consequently, if the CPU of the Master C3V-W board intends to access the DRAM of devices on the Slave C3V-W subsystem, it must reference the base address of the Slave C3V-W subsystem, starting from 0x2 0000 0000.

    The memory node in device-tree source should looks like this:

    Code Block
    	memory@0 {
    		device_type = "memory";
    		reg = <0x0 0x0        0x0 0xf0000000>,  /* Lower 3.75 GiB */
    		      <0x1 0x0        0x1 0x00000000>,  /* Upper 4 GiB */
    		      <0x2 0x0        0x0 0xf0000000>,  /* Slave C3V-W Subsystem 4 GiB */
    		      <0x3 0x0        0x0 0x10000000>;  /* Remaining Lower DRAM 0.25 GiB */
    	};

    This configuration ensures that the Master C3V-W can efficiently access both its own memory and the memory allocated to the Slave C3V-W subsystem, starting from 0x2 0000 0000.

    4. Setup the CPIO Interface

    ...