Biyolojik sinir sistemlerinin davranışını taklit eden Leaky Integrate-and-Fire (LIF) nöron modelinin saf donanım (VHDL) seviyesinde sentezlenmesi. Amaç, von Neumann darboğazını aşarak beynin paralel ve asenkron bilgi işleme (information theory) kapasitesini silikona kopyalamaktır.
Yukarıdaki diferansiyel denklemin sürekli zamanlı (analog) yapısı, donanım kaynaklarını optimize etmek adına ayrık zamanlı (discrete) hale getirilmiş ve sızıntı (leak) faktörü, pahalı bölme işlemleri yerine "Arithmetic Shift Right" (srl) ile çözülmüştür.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity LIF_Neuron is
Port ( clk : in STD_LOGIC;
reset : in STD_LOGIC;
spike_in : in STD_LOGIC;
spike_out : out STD_LOGIC );
end LIF_Neuron;
architecture Behavioral of LIF_Neuron is
signal v_mem : unsigned(15 downto 0) := (others => '0');
constant THRESHOLD : unsigned(15 downto 0) := to_unsigned(40000, 16);
constant LEAK_SHIFT : integer := 4; -- tau = 16 cycle sızıntı sabiti
begin
process(clk, reset)
begin
if reset = '1' then
v_mem <= (others => '0');
spike_out <= '0';
elsif rising_edge(clk) then
-- Zıt iyon pompası simülasyonu: Bit kaydırma ile V_mem düşürülür
v_mem <= v_mem - (v_mem srl LEAK_SHIFT);
if spike_in = '1' then
v_mem <= v_mem + 1500; -- EPSP (Uyarıcı Postsinaptik Potansiyel)
end if;
-- Aksiyon Potansiyeli Ateşlemesi
if v_mem >= THRESHOLD then
spike_out <= '1';
v_mem <= (others => '0'); -- Hiperpolarizasyon (Reset)
else
spike_out <= '0';
end if;
end if;
end process;
end Behavioral;
Fizikteki Hubble Gerilimi makalemde bahsettiğim makro ölçekli ölçüm krizinin simülasyonu. Uzak galaksilerden gelen ışığın, evrenin genişlemesi nedeniyle elektromanyetik spektrumda kırmızıya doğru kaymasının ($z$) hesaplanması.
Aşağıdaki algoritma, SDSS (Sloan Digital Sky Survey) spektroskopik veri setleri üzerinden hidrojenin alfa çizgisindeki (656.28 nm) kaymayı tespit edip galaksinin radyal uzaklaşma hızını hesaplayan basit bir Python modelidir.
import numpy as np
from scipy.signal import find_peaks
def calculate_recessional_velocity(observed_spectrum, wavelengths):
# Laboratuvar ortamında Hidrojen-Alpha emisyon çizgisi (nm)
H_ALPHA_EMIT = 656.28
SPEED_OF_LIGHT = 299792 # km/s
# Spektrumdaki en yüksek piki (gözlemlenen dalga boyunu) bul
peaks, _ = find_peaks(observed_spectrum, height=0.8)
lambda_obs = wavelengths[peaks[0]]
# Kızıla kayma (z) formülü
z = (lambda_obs - H_ALPHA_EMIT) / H_ALPHA_EMIT
# Klasik Doppler yaklaşımı ile uzaklaşma hızı
velocity = z * SPEED_OF_LIGHT
return z, velocity
# Örnek Çıktı: z = 0.024, v = 7195 km/s
Bir tıp öğrencisi olarak insan kas kasılmalarını incelerken (Elektromiyografi), elektrotlardan alınan sinyallerin aslında 50Hz/60Hz şebeke gürültüsü (Powerline Interference) ile ne kadar kirlendiğini görürüz.
Bu problemi çözmek için saf bir algoritmik yaklaşım: Dijital sinyal işleme teknikleri kullanılarak tasarlanmış bir FIR (Finite Impulse Response) Notch Filtresi. Bu algoritma, donanımsal olarak C veya FPGA üzerinde koşacak şekilde dizayn edilmiştir.