mirror of https://github.com/openXC7/prjxray.git
fuzzers: replace inline verilog with top_harnesS()
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
This commit is contained in:
parent
afdb7a96d8
commit
e3b300765e
|
|
@ -1,6 +1,7 @@
|
|||
import random
|
||||
random.seed(0)
|
||||
from prjxray import util
|
||||
from prjxray import verilog
|
||||
|
||||
from prims import *
|
||||
|
||||
|
|
@ -22,36 +23,7 @@ def gen_slices():
|
|||
DIN_N = CLBN * 4
|
||||
DOUT_N = CLBN * 1
|
||||
|
||||
print(
|
||||
'''
|
||||
module top(input clk, stb, di, output do);
|
||||
localparam integer DIN_N = %d;
|
||||
localparam integer DOUT_N = %d;
|
||||
|
||||
reg [DIN_N-1:0] din;
|
||||
wire [DOUT_N-1:0] dout;
|
||||
|
||||
reg [DIN_N-1:0] din_shr;
|
||||
reg [DOUT_N-1:0] dout_shr;
|
||||
|
||||
always @(posedge clk) begin
|
||||
din_shr <= {din_shr, di};
|
||||
dout_shr <= {dout_shr, din_shr[DIN_N-1]};
|
||||
if (stb) begin
|
||||
din <= din_shr;
|
||||
dout_shr <= dout;
|
||||
end
|
||||
end
|
||||
|
||||
assign do = dout_shr[DOUT_N-1];
|
||||
|
||||
roi roi (
|
||||
.clk(clk),
|
||||
.din(din),
|
||||
.dout(dout)
|
||||
);
|
||||
endmodule
|
||||
''' % (DIN_N, DOUT_N))
|
||||
verilog.top_harness(DIN_N, DOUT_N)
|
||||
|
||||
slices = gen_slices()
|
||||
print(
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import random
|
||||
random.seed(0)
|
||||
from prjxray import util
|
||||
from prjxray import verilog
|
||||
|
||||
CLBN = 40
|
||||
print('//Requested CLBs: %s' % str(CLBN))
|
||||
|
|
@ -15,36 +16,7 @@ def gen_slices():
|
|||
DIN_N = CLBN * 8
|
||||
DOUT_N = CLBN * 8
|
||||
|
||||
print(
|
||||
'''
|
||||
module top(input clk, stb, di, output do);
|
||||
localparam integer DIN_N = %d;
|
||||
localparam integer DOUT_N = %d;
|
||||
|
||||
reg [DIN_N-1:0] din;
|
||||
wire [DOUT_N-1:0] dout;
|
||||
|
||||
reg [DIN_N-1:0] din_shr;
|
||||
reg [DOUT_N-1:0] dout_shr;
|
||||
|
||||
always @(posedge clk) begin
|
||||
din_shr <= {din_shr, di};
|
||||
dout_shr <= {dout_shr, din_shr[DIN_N-1]};
|
||||
if (stb) begin
|
||||
din <= din_shr;
|
||||
dout_shr <= dout;
|
||||
end
|
||||
end
|
||||
|
||||
assign do = dout_shr[DOUT_N-1];
|
||||
|
||||
roi roi (
|
||||
.clk(clk),
|
||||
.din(din),
|
||||
.dout(dout)
|
||||
);
|
||||
endmodule
|
||||
''' % (DIN_N, DOUT_N))
|
||||
verilog.top_harness(DIN_N, DOUT_N)
|
||||
|
||||
f = open('params.csv', 'w')
|
||||
f.write('module,loc,n,def_a\n')
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import random
|
||||
random.seed(0)
|
||||
from prjxray import util
|
||||
from prjxray import verilog
|
||||
|
||||
CLBN = 400
|
||||
print('//Requested CLBs: %s' % str(CLBN))
|
||||
|
|
@ -17,36 +18,7 @@ DOUT_N = CLBN * 8
|
|||
|
||||
lut_bels = ['A6LUT', 'B6LUT', 'C6LUT', 'D6LUT']
|
||||
|
||||
print(
|
||||
'''
|
||||
module top(input clk, stb, di, output do);
|
||||
localparam integer DIN_N = %d;
|
||||
localparam integer DOUT_N = %d;
|
||||
|
||||
reg [DIN_N-1:0] din;
|
||||
wire [DOUT_N-1:0] dout;
|
||||
|
||||
reg [DIN_N-1:0] din_shr;
|
||||
reg [DOUT_N-1:0] dout_shr;
|
||||
|
||||
always @(posedge clk) begin
|
||||
din_shr <= {din_shr, di};
|
||||
dout_shr <= {dout_shr, din_shr[DIN_N-1]};
|
||||
if (stb) begin
|
||||
din <= din_shr;
|
||||
dout_shr <= dout;
|
||||
end
|
||||
end
|
||||
|
||||
assign do = dout_shr[DOUT_N-1];
|
||||
|
||||
roi roi (
|
||||
.clk(clk),
|
||||
.din(din),
|
||||
.dout(dout)
|
||||
);
|
||||
endmodule
|
||||
''' % (DIN_N, DOUT_N))
|
||||
verilog.top_harness(DIN_N, DOUT_N)
|
||||
|
||||
f = open('params.csv', 'w')
|
||||
f.write('module,loc,bel,n\n')
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ random.seed(0)
|
|||
import os
|
||||
import re
|
||||
from prjxray import util
|
||||
from prjxray import verilog
|
||||
|
||||
CLBN = 600
|
||||
print('//Requested CLBs: %s' % str(CLBN))
|
||||
|
|
@ -28,36 +29,7 @@ ff_bels = (
|
|||
'D5FF',
|
||||
)
|
||||
|
||||
print(
|
||||
'''
|
||||
module top(input clk, stb, di, output do);
|
||||
localparam integer DIN_N = %d;
|
||||
localparam integer DOUT_N = %d;
|
||||
|
||||
reg [DIN_N-1:0] din;
|
||||
wire [DOUT_N-1:0] dout;
|
||||
|
||||
reg [DIN_N-1:0] din_shr;
|
||||
reg [DOUT_N-1:0] dout_shr;
|
||||
|
||||
always @(posedge clk) begin
|
||||
din_shr <= {din_shr, di};
|
||||
dout_shr <= {dout_shr, din_shr[DIN_N-1]};
|
||||
if (stb) begin
|
||||
din <= din_shr;
|
||||
dout_shr <= dout;
|
||||
end
|
||||
end
|
||||
|
||||
assign do = dout_shr[DOUT_N-1];
|
||||
|
||||
roi roi (
|
||||
.clk(clk),
|
||||
.din(din),
|
||||
.dout(dout)
|
||||
);
|
||||
endmodule
|
||||
''' % (DIN_N, DOUT_N))
|
||||
verilog.top_harness(DIN_N, DOUT_N)
|
||||
|
||||
f = open('params.csv', 'w')
|
||||
f.write('name,loc,ce,r\n')
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import random
|
||||
random.seed(0)
|
||||
from prjxray import util
|
||||
from prjxray import verilog
|
||||
|
||||
CLBN = 400
|
||||
print('//Requested CLBs: %s' % str(CLBN))
|
||||
|
|
@ -17,36 +18,7 @@ def gen_slices():
|
|||
DIN_N = CLBN * 8
|
||||
DOUT_N = CLBN * 8
|
||||
|
||||
print(
|
||||
'''
|
||||
module top(input clk, stb, di, output do);
|
||||
localparam integer DIN_N = %d;
|
||||
localparam integer DOUT_N = %d;
|
||||
|
||||
reg [DIN_N-1:0] din;
|
||||
wire [DOUT_N-1:0] dout;
|
||||
|
||||
reg [DIN_N-1:0] din_shr;
|
||||
reg [DOUT_N-1:0] dout_shr;
|
||||
|
||||
always @(posedge clk) begin
|
||||
din_shr <= {din_shr, di};
|
||||
dout_shr <= {dout_shr, din_shr[DIN_N-1]};
|
||||
if (stb) begin
|
||||
din <= din_shr;
|
||||
dout_shr <= dout;
|
||||
end
|
||||
end
|
||||
|
||||
assign do = dout_shr[DOUT_N-1];
|
||||
|
||||
roi roi (
|
||||
.clk(clk),
|
||||
.din(din),
|
||||
.dout(dout)
|
||||
);
|
||||
endmodule
|
||||
''' % (DIN_N, DOUT_N))
|
||||
verilog.top_harness(DIN_N, DOUT_N)
|
||||
|
||||
f = open('params.csv', 'w')
|
||||
f.write('module,loc,n\n')
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import random
|
||||
random.seed(0)
|
||||
from prjxray import util
|
||||
from prjxray import verilog
|
||||
|
||||
CLBN = 400
|
||||
print('//Requested CLBs: %s' % str(CLBN))
|
||||
|
|
@ -15,36 +16,7 @@ def gen_slices():
|
|||
DIN_N = CLBN * 8
|
||||
DOUT_N = CLBN * 8
|
||||
|
||||
print(
|
||||
'''
|
||||
module top(input clk, stb, di, output do);
|
||||
localparam integer DIN_N = %d;
|
||||
localparam integer DOUT_N = %d;
|
||||
|
||||
reg [DIN_N-1:0] din;
|
||||
wire [DOUT_N-1:0] dout;
|
||||
|
||||
reg [DIN_N-1:0] din_shr;
|
||||
reg [DOUT_N-1:0] dout_shr;
|
||||
|
||||
always @(posedge clk) begin
|
||||
din_shr <= {din_shr, di};
|
||||
dout_shr <= {dout_shr, din_shr[DIN_N-1]};
|
||||
if (stb) begin
|
||||
din <= din_shr;
|
||||
dout_shr <= dout;
|
||||
end
|
||||
end
|
||||
|
||||
assign do = dout_shr[DOUT_N-1];
|
||||
|
||||
roi roi (
|
||||
.clk(clk),
|
||||
.din(din),
|
||||
.dout(dout)
|
||||
);
|
||||
endmodule
|
||||
''' % (DIN_N, DOUT_N))
|
||||
verilog.top_harness(DIN_N, DOUT_N)
|
||||
|
||||
f = open('params.csv', 'w')
|
||||
f.write('module,loc,n\n')
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import random
|
|||
random.seed(0)
|
||||
import os
|
||||
import re
|
||||
from prjxray import verilog
|
||||
|
||||
|
||||
def slice_xy():
|
||||
|
|
@ -37,36 +38,7 @@ def gen_slices():
|
|||
DIN_N = CLBN * 8
|
||||
DOUT_N = CLBN * 8
|
||||
|
||||
print(
|
||||
'''
|
||||
module top(input clk, stb, di, output do);
|
||||
localparam integer DIN_N = %d;
|
||||
localparam integer DOUT_N = %d;
|
||||
|
||||
reg [DIN_N-1:0] din;
|
||||
wire [DOUT_N-1:0] dout;
|
||||
|
||||
reg [DIN_N-1:0] din_shr;
|
||||
reg [DOUT_N-1:0] dout_shr;
|
||||
|
||||
always @(posedge clk) begin
|
||||
din_shr <= {din_shr, di};
|
||||
dout_shr <= {dout_shr, din_shr[DIN_N-1]};
|
||||
if (stb) begin
|
||||
din <= din_shr;
|
||||
dout_shr <= dout;
|
||||
end
|
||||
end
|
||||
|
||||
assign do = dout_shr[DOUT_N-1];
|
||||
|
||||
roi roi (
|
||||
.clk(clk),
|
||||
.din(din),
|
||||
.dout(dout)
|
||||
);
|
||||
endmodule
|
||||
''' % (DIN_N, DOUT_N))
|
||||
verilog.top_harness(DIN_N, DOUT_N)
|
||||
|
||||
f = open('params.csv', 'w')
|
||||
f.write('module,loc,loc2\n')
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ Note: LUT6 was added to try to simplify reduction, although it might not be need
|
|||
import random
|
||||
random.seed(0)
|
||||
from prjxray import util
|
||||
from prjxray import verilog
|
||||
|
||||
CLBN = 50
|
||||
print('//Requested CLBs: %s' % str(CLBN))
|
||||
|
|
@ -32,36 +33,7 @@ def gen_slicems():
|
|||
DIN_N = CLBN * 8
|
||||
DOUT_N = CLBN * 8
|
||||
|
||||
print(
|
||||
'''
|
||||
module top(input clk, stb, di, output do);
|
||||
localparam integer DIN_N = %d;
|
||||
localparam integer DOUT_N = %d;
|
||||
|
||||
reg [DIN_N-1:0] din;
|
||||
wire [DOUT_N-1:0] dout;
|
||||
|
||||
reg [DIN_N-1:0] din_shr;
|
||||
reg [DOUT_N-1:0] dout_shr;
|
||||
|
||||
always @(posedge clk) begin
|
||||
din_shr <= {din_shr, di};
|
||||
dout_shr <= {dout_shr, din_shr[DIN_N-1]};
|
||||
if (stb) begin
|
||||
din <= din_shr;
|
||||
dout_shr <= dout;
|
||||
end
|
||||
end
|
||||
|
||||
assign do = dout_shr[DOUT_N-1];
|
||||
|
||||
roi roi (
|
||||
.clk(clk),
|
||||
.din(din),
|
||||
.dout(dout)
|
||||
);
|
||||
endmodule
|
||||
''' % (DIN_N, DOUT_N))
|
||||
verilog.top_harness(DIN_N, DOUT_N)
|
||||
|
||||
f = open('params.csv', 'w')
|
||||
f.write('module,loc,bela,belb,belc,beld\n')
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import random
|
||||
random.seed(0)
|
||||
from prjxray import util
|
||||
from prjxray import verilog
|
||||
|
||||
CLBN = 50
|
||||
print('//Requested CLBs: %s' % str(CLBN))
|
||||
|
|
@ -15,36 +16,7 @@ def gen_slicems():
|
|||
DIN_N = CLBN * 8
|
||||
DOUT_N = CLBN * 8
|
||||
|
||||
print(
|
||||
'''
|
||||
module top(input clk, stb, di, output do);
|
||||
localparam integer DIN_N = %d;
|
||||
localparam integer DOUT_N = %d;
|
||||
|
||||
reg [DIN_N-1:0] din;
|
||||
wire [DOUT_N-1:0] dout;
|
||||
|
||||
reg [DIN_N-1:0] din_shr;
|
||||
reg [DOUT_N-1:0] dout_shr;
|
||||
|
||||
always @(posedge clk) begin
|
||||
din_shr <= {din_shr, di};
|
||||
dout_shr <= {dout_shr, din_shr[DIN_N-1]};
|
||||
if (stb) begin
|
||||
din <= din_shr;
|
||||
dout_shr <= dout;
|
||||
end
|
||||
end
|
||||
|
||||
assign do = dout_shr[DOUT_N-1];
|
||||
|
||||
roi roi (
|
||||
.clk(clk),
|
||||
.din(din),
|
||||
.dout(dout)
|
||||
);
|
||||
endmodule
|
||||
''' % (DIN_N, DOUT_N))
|
||||
verilog.top_harness(DIN_N, DOUT_N)
|
||||
|
||||
f = open('params.csv', 'w')
|
||||
f.write('module,loc,c31,b31,a31\n')
|
||||
|
|
|
|||
Loading…
Reference in New Issue