基于FPGA的SNN脉冲神经网络之IM神经元verilog实现,包含testbench

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

5.算法完整程序工程


1.算法运行效果图预览

(完整程序运行后无水印)

2.算法运行软件版本

vivado2019.2

3.部分核心程序

(完整版代码包含详细中文注释和操作步骤视频)

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2020/07/21 07:25:33
// Design Name: 
// Module Name: SNN_IM
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:

module SNN_tops(
             input i_clk,
             input i_rst,
             output  signed[31:0]o_v1,
             output  signed[31:0]o_u1,
             output  signed[31:0]o_vL1,
             output  signed[31:0]o_v2,
             output  signed[31:0]o_u2,
             output  signed[31:0]o_vL2,
             output  signed[31:0]o_v3,
             output  signed[31:0]o_u3,
             output  signed[31:0]o_vL3
    );
 
//神经元1 
IM_neuro IM_neuro_u1(
             .i_clk(i_clk),
             .i_rst(i_rst),
             .Isyn (32'd40000),
             .o_v  (o_v1),
             .o_u  (o_u1),
             .o_vL (o_vL1)
          );
//神经元2     
IM_neuro IM_neuro_u2(
             .i_clk(i_clk),
             .i_rst(i_rst),
             .Isyn (32'd50000),
             .o_v  (o_v2),
             .o_u  (o_u2),
             .o_vL (o_vL2)
          ); 
    
//神经元3
IM_neuro IM_neuro_u3(
             .i_clk(i_clk),
             .i_rst(i_rst),
             .Isyn (32'd60000),
             .o_v  (o_v3),
             .o_u  (o_u3),
             .o_vL (o_vL3)
          );
    
    
endmodule
05_107m

4.算法理论概述

脉冲神经网络(Spiking Neural Network,SNN)是第三代人工神经网络,它更接近生物神经元的工作方式。其中,Izhikevich - Memristive(IM)神经元模型是一种结合了忆阻器(Memristor)特性和 Izhikevich 神经元动力学的模型,在神经形态计算和复杂神经动力学模拟等领域具有重要的应用价值。

Izhikevich 神经元模型的基本方程为:

其中v是神经元的膜电位,u是恢复变量,用于控制神经元的不应期等特性。a、b是模型参数,不同的参数组合可以模拟出不同类型的神经元放电行为,如规则发放、快速发放、发放后抑制等。是外部输入电流,它对神经元的膜电位变化起到驱动作用。

其中c和d是重置参数,与神经元的恢复特性有关。这种发放机制使得 Izhikevich 神经元能够产生类似于生物神经元的脉冲序列。

IM 神经元模型将忆阻器引入到 Izhikevich 神经元模型中,用忆阻器来调节神经元的输入电流或者神经元内部的一些参数。具体来说,忆阻器可以放置在输入通路中,使得输入电流经过忆阻器后再进入神经元。

IM 神经元模型作为一种结合了忆阻器和 Izhikevich 神经元动力学的模型,具有复杂的动力学行为和潜在的应用价值。通过对其原理的深入理解,包括神经元动力学方程的修正、忆阻器与神经元的协同作用、参数对放电模式的影响以及在神经形态计算中的应用等方面,我们可以更好地利用这个模型来开发高效的神经形态计算系统和复杂的信息处理应用。随着技术的不断发展,IM 神经元模型有望在人工智能、脑机接口等众多领域发挥重要作用。

5.算法完整程序工程

OOOOO

OOO

O

相关推荐
Terasic友晶科技10 小时前
第29篇 基于ARM A9处理器用C语言实现中断<五>
c语言·fpga开发·定时器中断
9527华安14 小时前
FPGA实现GTY光口视频转USB3.0传输,基于FT601+Aurora 8b/10b编解码架构,提供2套工程源码和技术支持
fpga开发·音视频·aurora·gty·usb3.0·ft601
博览鸿蒙15 小时前
FPGA开发要学些什么?如何快速入门?
fpga开发
@晓凡18 小时前
FPGA中利用fifo时钟域转换---慢时钟域转快时钟域
fpga开发
乘风~&1 天前
fpga助教面试题
fpga开发
Hcoco_me2 天前
HDLBits ——> Building Larger Circuits
fpga开发
碎碎思2 天前
FPGA DSP:Vivado 中带有 DDS 的 FIR 滤波器
fpga开发
电子阿板4 天前
ZYNQ TCP Server PS端千兆网口速率低问题,要修改BSP中LWIP配置参数
嵌入式硬件·tcp/ip·fpga开发·tcp
9527华安4 天前
FPGA实现SDI视频解码转GTY光口传输,基于GS2971+Aurora 8b/10b编解码架构,提供工程源码和技术支持
fpga开发·架构·音视频·8b/10b·sdi·gty·gs2971
cjie2214 天前
国产FPGA开发板选择
fpga开发