Skip to content

renjeff/ArCTWO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Framework for Emerging Nanoscale Memory Characterization using the ArC TWO platform

This repository contains the full implementation, documentation, and results of a semester project focused on developing a flexible framework for memristive device and crossbar array characterization using the ArC TWO platform.

🧠 Project Overview

As AI and neuromorphic computing demand new memory technologies, characterizing memristive devices efficiently and reliably becomes essential. This project implements a modular Python-based measurement framework using the ArC TWO board — a 64-channel FPGA platform tailored for analog and digital memory testing.

The system enables:

  • IV sweeps
  • Arbitrary pulse-based protocols (e.g., LTP/LTD, Retention, Endurance)
  • Crossbar array readout with sneak-path mitigation
  • Data logging in HDF5
  • Jupyter notebook-based experimentation

📁 Repository Structure

├── src/
│   ├── analysis/             # Plotting & data visualization
│   ├── instruments/          # Pulse sequence generation & device interface
│   ├── measurement/          # IV, pulsing, crossbar logic
│   └── utils/                # Data I/O, hardware utilities
├── examples/
│   └── main.ipynb            # Entry-point notebook for experiments
├── crossbar_config/          # TOML files for pin mapping
├── docs/                     # Documentation and guides
│   ├── WIP_ArC_TWO_Guide_V4.pdf  # ETH Zurich user setup guide
│   ├── Semester_Project_Report.pdf # Report
│   └── Semester_project_presentation_Jeff_Ren.pdf # Presentation slides
└── README.md                 # This file

🚀 Getting Started

Requirements

  • Python 3.8+
  • pyarc2 (Python bindings for ArC TWO)
  • numpy, matplotlib, h5py, etc.
  • Jupyter Lab or Notebook
  • check 📄 WIP ArC TWO Guide (PDF)

Running an Experiment

Open the notebook:

cd examples
jupyter notebook main.ipynb

The notebook demonstrates:

  • How to connect to the ArC TWO board
  • IV sweep configuration and execution
  • Arbitrary pulsing (LTP/LTD, retention, endurance)
  • Crossbar array interaction with mock data

🧑‍💻 ETH Zurich Lab Setup

If you're working from ETH lab computers (e.g. steghorn), setup instructions, conda environment configuration, firmware flashing, and remote GUI usage are documented in the following guide:

📄 WIP ArC TWO Guide (PDF)

📝 Report

The final semester report and presentation slides are included in:

📚 References

Key technologies and concepts:

  • Memristive devices (VCM, FTJ)
  • In-memory computing and neuromorphic hardware
  • ArC TWO platform by ArC Instruments
  • Pulse-based characterization protocols

🤝 Acknowledgements

This project was conducted as part of the Spring 2025 Semester Project at ETH Zurich under the supervision of:

  • Till Zellweger
  • Dr. Nikhil Garg
  • PD. Dr. Alexandros Emboras
  • Prof. Dr. Laura Bégon-Lours
  • Prof. Dr. Mathieu Luisier

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages