OpenCores
URL https://opencores.org/ocsvn/vspi/vspi/trunk

Subversion Repositories vspi

[/] [vspi/] [trunk/] [src/] [spi_base/] [spiloop.v] - Blame information for rev 14

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 14 mjlyons
`timescale 1ns / 1ps
2
//////////////////////////////////////////////////////////////////////////////////
3
// Company: 
4
// Engineer: 
5
// 
6
// Create Date:    17:49:15 11/02/2011 
7
// Design Name: 
8
// Module Name:    spiwrap 
9
// Project Name: 
10
// Target Devices: 
11
// Tool versions: 
12
// Description: 
13
//
14
// Dependencies: 
15
//
16
// Revision: 
17
// Revision 0.01 - File Created
18
// Additional Comments: 
19
//
20
//////////////////////////////////////////////////////////////////////////////////
21
module spiloop(
22
    input Reset,
23
    input SysClk,
24
    input spi_ss,
25
    input spi_mosi,
26
    input spi_clk,
27
    output spi_miso,
28
    output [7:0] leds
29
    );
30
 
31
wire [7:0]  debug_out;
32
wire [11:0] txMemAddr;
33
wire [7:0]  txMemData;
34
wire [11:0] rcMemAddr;
35
wire [7:0]  rcMemData;
36
wire        rcMemWE;
37
 
38
wire [3:0]  regAddr;
39
wire [31:0] regWriteData;
40
wire        regWE;
41
reg  [31:0] regReadData_wreg;
42
reg  [31:0] regbank [0:15];
43
 
44
always @(*) begin                 // Read reg
45
  regReadData_wreg <= regbank[regAddr];
46
end
47
always @(posedge SysClk) begin    // Write reg
48
  if (regWE) begin
49
    regbank[regAddr] <= regWriteData;
50
  end
51
end
52
 
53
spiloopmem your_instance_name (
54
  .clka(SysClk), // input clka
55
  .ena(1'b1), // input ena
56
  .wea(rcMemWE), // input [0 : 0] wea
57
  .addra(rcMemAddr), // input [11 : 0] addra
58
  .dina(rcMemData), // input [7 : 0] dina
59
  .clkb(SysClk), // input clkb
60
  .enb(1'b1), // input enb
61
  .addrb(txMemAddr), // input [11 : 0] addrb
62
  .doutb(txMemData) // output [7 : 0] doutb
63
);
64
 
65
spiifc mySpiIfc (
66
  .Reset(Reset),
67
  .SysClk(SysClk),
68
  .SPI_CLK(spi_clk),
69
  .SPI_MISO(spi_miso),
70
  .SPI_MOSI(spi_mosi),
71
  .SPI_SS(spi_ss),
72
  .txMemAddr(txMemAddr),
73
  .txMemData(txMemData),
74
  .rcMemAddr(rcMemAddr),
75
  .rcMemData(rcMemData),
76
  .rcMemWE(rcMemWE),
77
  .regAddr(regAddr),
78
  .regReadData(regReadData_wreg),
79
  .regWriteData(regWriteData),
80
  .regWriteEn(regWE),
81
  .debug_out(debug_out)
82
);
83
 
84
//assign leds = debug_out ;
85
assign leds = txMemData;
86
 
87
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.