Skip to content

Instantly share code, notes, and snippets.

View brianhill11's full-sized avatar

Brian Hill brianhill11

View GitHub Profile
/* Author: Brian Hill
* Date:
* Module: relu_backprop
* Desc: The backpropagation calculation for the ReLU layer
* using single precision floating point values
*/
module relu_backprop( input logic clk,
input logic [31:0] in_data[WIDTH-1:0],
output logic [31:0] out_data[WIDTH-1:0])
/* union for picking off parts of single-precison floating point value */
union {
int unsigned x;
struct packed {
bit sign;
bit [7:0] exp;
bit [22:0] mantissa;
} parts;
} my_union;
/* Author: Brian Hill
* Date:
* Module: conv_forward
* Desc: Apply each filter in set of filters to image by computing dot
product between patch of image and filter
*/
module conv_forward( input logic clk,
input logic reset,
input logic [31:0] filter [KERNEL_WIDTH*KERNEL_HEIGHT-1:0],
module read_file_test_top();
parameter NUM_TESTS = 10000;
parameter NUM_COLS = 3;
parameter MEM_SIZE = NUM_TESTS*NUM_COLS;
reg [31:0] mem [MEM_SIZE];
int i;
initial begin
#!/usr/bin/python
import csv
import random
import struct
NUM_TESTS = 10000
filename = 'quartus_test_data.hex'
def main():
#!/usr/bin/python
import csv
import random
import struct
NUM_TESTS = 10000
filename = 'quartus_test_data.hex'
UPPER_RANGE = 100
LOWER_RANGE = -100
#!/usr/bin/python
import csv
import random
import struct
import numpy as np
import argparse
data_file_name = 'test_data/conv_forward_test_data.hex'
#!/usr/bin/python
import csv
import random
import struct
import argparse
data_file_name = 'test_data/relu_backward_test_data.hex'
# convert floating point value to hex value
#!/usr/bin/python
import csv
import random
import struct
import numpy as np
import argparse
data_file_name = 'test_data/pooling_forward_test_data.hex'
logic [31:0] connections [2*WIDTH] ;
genvar i, j;
generate
//create float_mult blocks to multiply WIDTH number
//of inputs with weights
for (i = 0; i < WIDTH; i++) begin : GEN_MULTS
wire [31:0] results;
float_mult float_mult_inst(
.clk_en(enable),