Shenzhen I/O Wiki


The 100P-14 is a random access memory chip containing fourteen memory cells and two independent auto-incrementing memory pointers. It can be controlled and accessed by two address pins, a0 and a1, and two data pins, d0 and d1. This part consumes no power and costs ¥2.

Usage[]

100P-14's memory addresses are zero-based and in modulo 14, meaning the first address is indexed as 0 and numbers bigger than 13 wrap around. The current address of each pointer are represented by triangles on the sides of the memory cells corresponding to the address and data pins in the respective side. Upon initialization, all memory cells and memory pointers are set to 0.

Input to and output from the address pins[]

An input to the a0 pin will update the left pointer to the input value in modulo 14 and an input to the a1 pin will update the right pointer. Read requests will output the current address of the respective pointer.

Input to and output from the data pins[]

An Input to the d0 pin will store the value to the data cell addressed by the left pointer and increment its address. Read requests will output the value stored in data cell addressed by the left pointer and also increment its address. Input and output to the d1 data pin will result in the same behavior for the right side pointer.

Conflict resolution[]

Simultaneous input in the data pins and same address: If the two data pins try to input data to the same data cell, only the d1 value will be written, but both data pointers will be incremented.

Simultaneous input in the data and address pins: If data and address signals arrive at the same time, first the address will be updated, then the data will be written. Upon writing the pointer is incremented as usual.

In game description[]

100P-14 random-access memory by Pingda Co. Ltd. offers embedded system engineers additional storage for today’s increasingly data-driven world with a whopping fourteen memory cells. With its convenient auto-increment feature, you won’t have to waste precious registers keeping track of memory addresses.