rust_hdl_widgets/sdram/
mod.rs1pub mod basic_controller;
2pub mod buffer;
3pub mod burst_controller;
4pub mod cmd;
5pub mod fifo_sdram;
6pub mod timings;
7
8use rust_hdl_core::prelude::*;
9
10#[derive(Clone, Copy, Debug, PartialEq)]
11pub enum OutputBuffer {
12 Wired,
13 DelayOne,
14 DelayTwo,
15}
16
17#[derive(LogicInterface, Clone, Debug, Default)]
18#[join = "SDRAMDevice"]
19pub struct SDRAMDriver<const D: usize> {
20 pub clk: Signal<Out, Clock>,
21 pub we_not: Signal<Out, Bit>,
22 pub cas_not: Signal<Out, Bit>,
23 pub ras_not: Signal<Out, Bit>,
24 pub cs_not: Signal<Out, Bit>,
25 pub bank: Signal<Out, Bits<2>>,
26 pub address: Signal<Out, Bits<13>>,
27 pub write_data: Signal<Out, Bits<D>>,
28 pub read_data: Signal<In, Bits<D>>,
29 pub write_enable: Signal<Out, Bit>,
30}
31
32#[derive(LogicInterface, Clone, Debug, Default)]
33#[join = "SDRAMDriver"]
34pub struct SDRAMDevice<const D: usize> {
35 pub clk: Signal<In, Clock>,
36 pub we_not: Signal<In, Bit>,
37 pub cas_not: Signal<In, Bit>,
38 pub ras_not: Signal<In, Bit>,
39 pub cs_not: Signal<In, Bit>,
40 pub bank: Signal<In, Bits<2>>,
41 pub address: Signal<In, Bits<13>>,
42 pub write_data: Signal<In, Bits<D>>,
43 pub read_data: Signal<Out, Bits<D>>,
44 pub write_enable: Signal<In, Bit>,
45}