Search code examples
simulationnano

CrossSim crossbar simulation software


Is anyone using CrossSim - crossbar simulator from Sandia national laboratories? In the manual, it is not explained about the input files reset.csv/set.csv for lookup table generation. I need to know about the rmp values in that file. What is rmp and how was it calculated?

Or are there any other crossbar array simulation software that can be used for vector multiplication, etc mainly for memristor devices?


Solution

  • I am in graduate school student. I'm studying Resistive Memory Devices for Neuromorphic Computing. I am also using this CrossSim simulator(ver. 0.2). Maybe I can help you.

    Generally, a Memristor device has two terminals whose resistance value is modulated by an arbitrary voltage pulse. If this memristor undergoes higher than the threshold voltage(Vth), its state changes. otherwise, it holds its state.

    So, we program it with a higher than Vth and read its state by applying a voltage lower than Vth.

    In the manual, there is no specific explanation of what's in the reset.csv/set.csv file. it contains a current value that is acquired experimentally. not a calculated value. Actually, after the lookup table is generated its values becomes conductance value. That's why reading voltage is required in the create_lookup_table.py example. (conductance) = (current) / (voltage) you know.

    The lookup table is for experimental data to verify when memristors come to hardware. if you want to simulation just algorithmically you don't need a lookup table. you can do this by adding the following codes.

    params.numeric_params.update_model = "ANALYTIC"
    

    I hope this is helpful to you. :)