Merge remote-tracking branch 'origin/master' into ganesh_dev
|
@ -0,0 +1,4 @@
|
|||
a 0.5 0.5
|
||||
b 0.5 0.5
|
||||
c 0.25 0.25
|
||||
d 0.25 0.25
|
|
@ -0,0 +1,11 @@
|
|||
.model and2_or2
|
||||
.inputs a b
|
||||
.outputs c d
|
||||
|
||||
.names a b c
|
||||
11 1
|
||||
|
||||
.names a b d
|
||||
00 0
|
||||
|
||||
.end
|
|
@ -0,0 +1,22 @@
|
|||
/////////////////////////////////////////
|
||||
// Functionality: 2-input AND + 2-input OR
|
||||
// This benchmark is designed to test fracturable LUTs
|
||||
// Author: Xifan Tang
|
||||
////////////////////////////////////////
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
module and2_or2(
|
||||
a,
|
||||
b,
|
||||
c,
|
||||
d);
|
||||
|
||||
input wire a;
|
||||
input wire b;
|
||||
output wire c;
|
||||
output wire d;
|
||||
|
||||
assign c = a & b;
|
||||
assign d = a | b;
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,38 @@
|
|||
//-------------------------------------------------------------------
|
||||
// Function: Binary to Decimal converter
|
||||
// Source:
|
||||
// https://verilogcodes.blogspot.com/2015/10/verilog-code-for-8-bit-binary-to-bcd.html
|
||||
//-------------------------------------------------------------------
|
||||
module bin2bcd(
|
||||
bin,
|
||||
bcd
|
||||
);
|
||||
|
||||
|
||||
//input ports and their sizes
|
||||
input [7:0] bin;
|
||||
//output ports and, their size
|
||||
output [11:0] bcd;
|
||||
//Internal variables
|
||||
reg [11 : 0] bcd;
|
||||
reg [3:0] i;
|
||||
|
||||
//Always block - implement the Double Dabble algorithm
|
||||
always @(bin)
|
||||
begin
|
||||
bcd = 0; //initialize bcd to zero.
|
||||
for (i = 0; i < 8; i = i+1) //run for 8 iterations
|
||||
begin
|
||||
bcd = {bcd[10:0],bin[7-i]}; //concatenation
|
||||
|
||||
//if a hex digit of 'bcd' is more than 4, add 3 to it.
|
||||
if(i < 7 && bcd[3:0] > 4)
|
||||
bcd[3:0] = bcd[3:0] + 3;
|
||||
if(i < 7 && bcd[7:4] > 4)
|
||||
bcd[7:4] = bcd[7:4] + 3;
|
||||
if(i < 7 && bcd[11:8] > 4)
|
||||
bcd[11:8] = bcd[11:8] + 3;
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,31 @@
|
|||
//-------------------------------------------------------------------
|
||||
// Function: Testbench for the Binary to Decimal converter
|
||||
// Source:
|
||||
// https://verilogcodes.blogspot.com/2015/10/verilog-code-for-8-bit-binary-to-bcd.html
|
||||
module tb_bin2bcd;
|
||||
|
||||
// Input
|
||||
reg [7:0] bin;
|
||||
// Output
|
||||
wire [11:0] bcd;
|
||||
// Extra variables
|
||||
reg [8:0] i;
|
||||
|
||||
// Instantiate the Unit Under Test (UUT)
|
||||
bin2bcd uut (
|
||||
.bin(bin),
|
||||
.bcd(bcd)
|
||||
);
|
||||
|
||||
//Simulation - Apply inputs
|
||||
initial begin
|
||||
//A for loop for checking all the input combinations.
|
||||
for(i=0;i<256;i=i+1)
|
||||
begin
|
||||
bin = i;
|
||||
#10; //wait for 10 ns.
|
||||
end
|
||||
$finish; //system function for stoping the simulation.
|
||||
end
|
||||
|
||||
endmodule
|
|
@ -1,16 +1,16 @@
|
|||
module counter(clk_counter, q_counter, rst_counter);
|
||||
module counter(clk, q, rst);
|
||||
|
||||
input clk_counter;
|
||||
input rst_counter;
|
||||
output [7:0] q_counter;
|
||||
reg [7:0] q_counter;
|
||||
input clk;
|
||||
input rst;
|
||||
output [7:0] q;
|
||||
reg [7:0] q;
|
||||
|
||||
always @ (posedge clk_counter)
|
||||
always @ (posedge clk)
|
||||
begin
|
||||
if(rst_counter)
|
||||
q_counter <= 8'b00000000;
|
||||
if(rst)
|
||||
q <= 8'b00000000;
|
||||
else
|
||||
q_counter <= q_counter + 1;
|
||||
q <= q + 1;
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
|
|
@ -21,4 +21,4 @@ module counter_tb;
|
|||
#5000 $stop;
|
||||
end
|
||||
|
||||
endmodule
|
||||
endmodule
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
IN0 0.505000 0.204400
|
||||
IN1 0.491000 0.206000
|
||||
IN2 0.472000 0.204400
|
||||
clk 0.500000 2.000000
|
||||
OUT1 0.491000 0.206000
|
||||
OUT0 0.505000 0.204400
|
||||
OUT2 0.472000 0.204400
|
||||
n15 0.491000 0.101146
|
||||
n18 0.505000 0.103222
|
||||
n21 0.472000 0.096477
|
|
@ -0,0 +1,16 @@
|
|||
# Benchmark "routing_test" written by ABC on Tue Apr 21 18:25:21 2020
|
||||
.model routing_test
|
||||
.inputs IN0 IN1 IN2 clk
|
||||
.outputs OUT0 OUT1 OUT2
|
||||
|
||||
.latch n15 OUT1 re clk 2
|
||||
.latch n18 OUT0 re clk 2
|
||||
.latch n21 OUT2 re clk 2
|
||||
|
||||
.names IN1 n15
|
||||
1 1
|
||||
.names IN0 n18
|
||||
1 1
|
||||
.names IN2 n21
|
||||
1 1
|
||||
.end
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
module routing_test(IN0,IN1,IN2, clk, OUT0,OUT1,OUT2);
|
||||
|
||||
input wire IN0,IN1,IN2,clk;
|
||||
|
||||
output reg OUT0, OUT1, OUT2;
|
||||
|
||||
always @(posedge clk)
|
||||
begin
|
||||
|
||||
OUT0 <= IN0;
|
||||
OUT1 <= IN1;
|
||||
OUT2 <= IN2;
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,4 @@
|
|||
Disclaimer:
|
||||
The use of this code is at your own risk. Of course, we do made every effort to ensure
|
||||
that the reference files are free of bugs and issues. We also tested the design on FPGAs
|
||||
to make sure that it actually works.
|
|
@ -0,0 +1,225 @@
|
|||
`timescale 1ns / 1ps
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Team: Virginia Tech Secure Embedded Systems (SES) Lab
|
||||
// Implementer: Ege Gulcan
|
||||
//
|
||||
// Create Date: 17:21:26 11/13/2013
|
||||
// Design Name:
|
||||
// Module Name: simon_datapath_shiftreg
|
||||
// Project Name:
|
||||
// Target Devices:
|
||||
// Tool versions:
|
||||
// Description:
|
||||
//
|
||||
// Dependencies:
|
||||
//
|
||||
// Revision:
|
||||
// Revision 0.01 - File Created
|
||||
// Additional Comments:
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
module simon_datapath_shiftreg(clk,data_in,data_rdy,key_in,cipher_out,round_counter,bit_counter);
|
||||
|
||||
input clk,data_in,key_in;
|
||||
input [1:0] data_rdy;
|
||||
input round_counter;
|
||||
output cipher_out;
|
||||
output [5:0] bit_counter;
|
||||
|
||||
reg [55:0] shifter1;
|
||||
reg [63:0] shifter2;
|
||||
reg shift_in1,shift_in2;
|
||||
wire shift_out1,shift_out2;
|
||||
reg shifter_enable1,shifter_enable2;
|
||||
|
||||
reg fifo_ff63,fifo_ff62,fifo_ff61,fifo_ff60,fifo_ff59,fifo_ff58,fifo_ff57,fifo_ff56;
|
||||
reg lut_ff63,lut_ff62,lut_ff61,lut_ff60,lut_ff59,lut_ff58,lut_ff57,lut_ff56;
|
||||
|
||||
reg lut_ff_input,fifo_ff_input;
|
||||
reg lut_rol1,lut_rol2,lut_rol8;
|
||||
reg s1,s4,s5,s6,s7;
|
||||
reg [1:0] s3;
|
||||
reg [5:0] bit_counter;
|
||||
wire lut_out;
|
||||
|
||||
|
||||
|
||||
// Shift Register1 FIFO 56x1 Begin
|
||||
// 56x1 Shift register to store the upper word
|
||||
always @(posedge clk)
|
||||
begin
|
||||
if(shifter_enable1)
|
||||
begin
|
||||
shifter1 <= {shift_in1, shifter1[55:1]};
|
||||
end
|
||||
end
|
||||
|
||||
assign shift_out1 = shifter1[0];
|
||||
// Shift Register1 End
|
||||
|
||||
// Shift Register2 FIFO 64x1 Begin
|
||||
// 64x1 Shift register to store the lower word
|
||||
always @(posedge clk)
|
||||
begin
|
||||
if(shifter_enable2)
|
||||
begin
|
||||
shifter2 <= {shift_in2, shifter2[63:1]};
|
||||
end
|
||||
end
|
||||
|
||||
assign shift_out2 = shifter2[0];
|
||||
// Shift Register2 End
|
||||
|
||||
|
||||
// 8 Flip-Flops to store the most significant 8 bits of the upper word at even rounds
|
||||
// Denoted as Shift Register Up (SRU) in Figure 5
|
||||
always@(posedge clk)
|
||||
begin
|
||||
if(shifter_enable1)
|
||||
begin
|
||||
fifo_ff63 <= fifo_ff_input;
|
||||
fifo_ff62 <= fifo_ff63;
|
||||
fifo_ff61 <= fifo_ff62;
|
||||
fifo_ff60 <= fifo_ff61;
|
||||
fifo_ff59 <= fifo_ff60;
|
||||
fifo_ff58 <= fifo_ff59;
|
||||
fifo_ff57 <= fifo_ff58;
|
||||
fifo_ff56 <= fifo_ff57;
|
||||
end
|
||||
end
|
||||
|
||||
// 8 Flip-Flops to store the most significant 8 bits of the upper word at odd rounds
|
||||
// Denoted as Shift Register Down (SRD) in Figure 5
|
||||
always@(posedge clk)
|
||||
begin
|
||||
lut_ff63 <= lut_ff_input;
|
||||
lut_ff62 <= lut_ff63;
|
||||
lut_ff61 <= lut_ff62;
|
||||
lut_ff60 <= lut_ff61;
|
||||
lut_ff59 <= lut_ff60;
|
||||
lut_ff58 <= lut_ff59;
|
||||
lut_ff57 <= lut_ff58;
|
||||
lut_ff56 <= lut_ff57;
|
||||
end
|
||||
|
||||
// FIFO 64x1 Input MUX
|
||||
// Input of the lower FIFO is always the output of the upper FIFO
|
||||
always@(*)
|
||||
begin
|
||||
shift_in2 = shift_out1;
|
||||
end
|
||||
|
||||
// FIFO 56x1 Input MUX
|
||||
// Input of the upper FIFO depends on the select line S1
|
||||
always@(*)
|
||||
begin
|
||||
if(s1==0)
|
||||
shift_in1 = lut_ff56;
|
||||
else
|
||||
shift_in1 = fifo_ff56;
|
||||
end
|
||||
|
||||
// FIFO FF Input MUX
|
||||
// The input of FIFO_FF can be the input plaintext, output of 56x1 FIFO or the output of LUT
|
||||
always@(*)
|
||||
begin
|
||||
if(s3==0)
|
||||
fifo_ff_input = data_in;
|
||||
else if(s3==1)
|
||||
fifo_ff_input = shift_out1;
|
||||
else if(s3==2)
|
||||
fifo_ff_input = lut_out;
|
||||
else
|
||||
fifo_ff_input = 1'bx; // Debugging
|
||||
end
|
||||
|
||||
// LUT FF Input MUX
|
||||
// The input of the LUT_FF is either the output of 56x1 FIFO or the output of LUT
|
||||
always@(*)
|
||||
begin
|
||||
if(s5==0)
|
||||
lut_ff_input = shift_out1;
|
||||
else
|
||||
lut_ff_input = lut_out;
|
||||
end
|
||||
|
||||
// LUT Input MUX
|
||||
always@(*)
|
||||
begin
|
||||
if(s7==0)
|
||||
lut_rol1 = fifo_ff63;
|
||||
else
|
||||
lut_rol1 = lut_ff63;
|
||||
|
||||
if(s4==0)
|
||||
lut_rol2 = fifo_ff62;
|
||||
else
|
||||
lut_rol2 = lut_ff62;
|
||||
|
||||
if(s6==0)
|
||||
lut_rol8 = fifo_ff56;
|
||||
else
|
||||
lut_rol8 = lut_ff56;
|
||||
end
|
||||
|
||||
//Selection MUX
|
||||
always@(*)
|
||||
begin
|
||||
// For the first 8 bits of each even round OR for all the bits after the first 8 bits in odd rounds OR loading the plaintext
|
||||
if((round_counter==0 && bit_counter<8)||(round_counter==1 && bit_counter>7)||(data_rdy==1))
|
||||
s1 = 1;
|
||||
else
|
||||
s1 = 0;
|
||||
|
||||
if(data_rdy==1) // Loading plaintext
|
||||
s3 = 0;
|
||||
else if(round_counter==0) // Even rounds
|
||||
s3 = 1;
|
||||
else if(round_counter==1) // Odd rounds
|
||||
s3 = 2;
|
||||
else
|
||||
s3 = 1'bx; // For debugging
|
||||
|
||||
if(round_counter==0) // Even rounds
|
||||
s6 = 0;
|
||||
else
|
||||
s6 = 1;
|
||||
|
||||
s4 = s6;
|
||||
s7 = s6;
|
||||
s5 = ~s6;
|
||||
end
|
||||
|
||||
// SHIFTER ENABLES
|
||||
// Two shift registers are enabled when the plaintext is being loaded (1) or when the block cipher is running (3)
|
||||
always@(*)
|
||||
begin
|
||||
if(data_rdy==1 || data_rdy==3)
|
||||
begin
|
||||
shifter_enable1 = 1;
|
||||
shifter_enable2 = 1;
|
||||
end
|
||||
else
|
||||
begin
|
||||
shifter_enable1 = 0;
|
||||
shifter_enable2 = 0;
|
||||
end
|
||||
end
|
||||
|
||||
// The bit_counter value is incremented in each clock cycle when the block cipher is running
|
||||
always@(posedge clk)
|
||||
begin
|
||||
if(data_rdy==0)
|
||||
bit_counter <= 0;
|
||||
else if(data_rdy==3)
|
||||
bit_counter <= bit_counter + 1;
|
||||
else
|
||||
bit_counter <= bit_counter;
|
||||
end
|
||||
|
||||
// The new computed value
|
||||
assign lut_out = (lut_rol1 & lut_rol8) ^ shift_out2 ^ lut_rol2 ^ key_in;
|
||||
|
||||
// The global output that gives the ciphertext value
|
||||
assign cipher_out = lut_out;
|
||||
endmodule
|
|
@ -0,0 +1,241 @@
|
|||
`timescale 1ns / 1ps
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Team: Virginia Tech Secure Embedded Systems (SES) Lab
|
||||
// Implementer: Ege Gulcan
|
||||
//
|
||||
// Create Date: 16:55:06 11/12/2013
|
||||
// Design Name:
|
||||
// Module Name: simon_key_expansion_shiftreg
|
||||
// Project Name:
|
||||
// Target Devices:
|
||||
// Tool versions:
|
||||
// Description:
|
||||
//
|
||||
// Dependencies:
|
||||
//
|
||||
// Revision:
|
||||
// Revision 0.01 - File Created
|
||||
// Additional Comments:
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
module simon_key_expansion_shiftreg(clk,data_in,key_out,data_rdy,bit_counter,round_counter_out);
|
||||
|
||||
input clk;
|
||||
input data_in;
|
||||
input [1:0] data_rdy;
|
||||
input [5:0] bit_counter;
|
||||
output key_out;
|
||||
output round_counter_out;
|
||||
|
||||
|
||||
reg [59:0] shifter1;
|
||||
reg [63:0] shifter2;
|
||||
reg shift_in1,shift_in2;
|
||||
wire shift_out1,shift_out2;
|
||||
reg shifter_enable1,shifter_enable2;
|
||||
|
||||
reg lut_ff_enable,fifo_ff_enable;
|
||||
wire lut_out;
|
||||
reg lut_in3;
|
||||
reg s2,s3;
|
||||
reg [1:0] s1;
|
||||
reg [6:0] round_counter;
|
||||
reg z_value;
|
||||
|
||||
reg fifo_ff0,fifo_ff1,fifo_ff2,fifo_ff3;
|
||||
|
||||
//(* shreg_extract = "no" *)
|
||||
reg lut_ff0,lut_ff1,lut_ff2,lut_ff3;
|
||||
//Constant value Z ROM
|
||||
reg [0:67] Z = 68'b10101111011100000011010010011000101000010001111110010110110011101011;
|
||||
reg c;
|
||||
|
||||
|
||||
/////////////////////////////////////////
|
||||
//// BEGIN CODE ////////////////////////
|
||||
///////////////////////////////////////
|
||||
|
||||
// Least bit of the round counter is sent to the datapath to check if it is even or odd
|
||||
assign round_counter_out = round_counter[0];
|
||||
|
||||
// Shift Register1 FIFO 60x1 Begin
|
||||
// 60x1 shift register storing the 60 most significant bits of the upper word of the key
|
||||
always @(posedge clk)
|
||||
begin
|
||||
if(shifter_enable1)
|
||||
begin
|
||||
shifter1 <= {shift_in1, shifter1[59:1]};
|
||||
end
|
||||
end
|
||||
|
||||
assign shift_out1 = shifter1[0];
|
||||
// Shift Register1 End
|
||||
|
||||
// Shift Register2 FIFO 64x1 Begin
|
||||
// 64x1 shift register storing the lower word of the key
|
||||
always @(posedge clk)
|
||||
begin
|
||||
if(shifter_enable2)
|
||||
begin
|
||||
shifter2 <= {shift_in2, shifter2[63:1]};
|
||||
end
|
||||
end
|
||||
|
||||
assign shift_out2 = shifter2[0];
|
||||
// Shift Register2 End
|
||||
|
||||
// 4 flip-flops storing the least significant 4 bits of the upper word in the first round
|
||||
always @(posedge clk)
|
||||
begin
|
||||
if(fifo_ff_enable)
|
||||
begin
|
||||
fifo_ff3 <= shift_out1;
|
||||
fifo_ff2 <= fifo_ff3;
|
||||
fifo_ff1 <= fifo_ff2;
|
||||
fifo_ff0 <= fifo_ff1;
|
||||
end
|
||||
end
|
||||
|
||||
// 4 flip-flops storing the least significant 4 bits of the upper word after the first round
|
||||
always@(posedge clk)
|
||||
begin
|
||||
if(lut_ff_enable)
|
||||
begin
|
||||
lut_ff3 <= lut_out;
|
||||
lut_ff2 <= lut_ff3;
|
||||
lut_ff1 <= lut_ff2;
|
||||
lut_ff0 <= lut_ff1;
|
||||
end
|
||||
end
|
||||
|
||||
//FIFO 64x1 Input MUX
|
||||
always@(*)
|
||||
begin
|
||||
if(data_rdy==2)
|
||||
shift_in2 = fifo_ff0;
|
||||
else if(data_rdy==3 && (round_counter<1 || bit_counter>3))
|
||||
shift_in2 = fifo_ff0;
|
||||
else if(data_rdy==3 && bit_counter<4 && round_counter>0)
|
||||
shift_in2 = lut_ff0;
|
||||
else
|
||||
shift_in2 = 1'bx;
|
||||
end
|
||||
|
||||
//LUT >>3 Input MUX
|
||||
always@(*)
|
||||
begin
|
||||
if(s2==0)
|
||||
lut_in3 = fifo_ff3;
|
||||
else
|
||||
lut_in3 = lut_ff3;
|
||||
end
|
||||
|
||||
//FIFO 60x1 Input MUX
|
||||
always@(*)
|
||||
begin
|
||||
if(s1==0)
|
||||
shift_in1 = fifo_ff0;
|
||||
else if(s1==1)
|
||||
shift_in1 = data_in;
|
||||
else if(s1==2)
|
||||
shift_in1 = lut_out;
|
||||
else if(s1==3)
|
||||
shift_in1 = lut_ff0;
|
||||
else
|
||||
shift_in1 = 1'bx;
|
||||
end
|
||||
|
||||
//S2 MUX
|
||||
always@(*)
|
||||
begin
|
||||
if(bit_counter==0 && round_counter!=0)
|
||||
s2 = 1;
|
||||
else
|
||||
s2 = 0;
|
||||
end
|
||||
|
||||
//S1 MUX
|
||||
always@(*)
|
||||
begin
|
||||
if(data_rdy==2)
|
||||
s1 = 1;
|
||||
else if(data_rdy==3 && bit_counter<4 && round_counter==0)
|
||||
s1 = 0;
|
||||
else if(data_rdy==3 && bit_counter<4 && round_counter>0)
|
||||
s1 = 3;
|
||||
else
|
||||
s1 = 2;
|
||||
end
|
||||
|
||||
// LUT FF ENABLE MUX
|
||||
// LUT FFs are used only at the first four clock cycles of each round
|
||||
always@(*)
|
||||
begin
|
||||
if(data_rdy==3 && bit_counter<4)
|
||||
lut_ff_enable = 1;
|
||||
else
|
||||
lut_ff_enable = 0;
|
||||
end
|
||||
|
||||
//FIFO FF ENABLE MUX
|
||||
always@(*)
|
||||
begin
|
||||
if(data_rdy==2 || data_rdy==3)
|
||||
fifo_ff_enable = 1;
|
||||
else
|
||||
fifo_ff_enable = 0;
|
||||
end
|
||||
|
||||
//SHIFTER ENABLES
|
||||
// Shifters are enabled when the key is loaded or block cipher is running
|
||||
always@(*)
|
||||
begin
|
||||
if(data_rdy==2 || data_rdy==3)
|
||||
shifter_enable1 = 1;
|
||||
else
|
||||
shifter_enable1 = 0;
|
||||
|
||||
if(data_rdy==2 || data_rdy==3)
|
||||
shifter_enable2 = 1;
|
||||
else
|
||||
shifter_enable2 = 0;
|
||||
|
||||
end
|
||||
|
||||
//Round Counter
|
||||
always@(posedge clk)
|
||||
begin
|
||||
if(data_rdy==3 && bit_counter==63)
|
||||
round_counter <= round_counter + 1;
|
||||
else if(data_rdy==0)
|
||||
round_counter <= 0;
|
||||
else
|
||||
round_counter <= round_counter;
|
||||
end
|
||||
|
||||
// The necessary bit of the constant Z is selected by the round counter
|
||||
always @(*)
|
||||
begin
|
||||
if(bit_counter==0)
|
||||
z_value = Z[round_counter];
|
||||
else
|
||||
z_value = 0;
|
||||
end
|
||||
|
||||
// The value of c is 1 at the first two cycles of each round only
|
||||
always @(*)
|
||||
begin
|
||||
if(bit_counter==0 || bit_counter==1)
|
||||
c = 0;
|
||||
else
|
||||
c = 1;
|
||||
end
|
||||
|
||||
// New computed key bit
|
||||
assign lut_out = shift_out2 ^ lut_in3 ^ shift_out1 ^ z_value ^ c;
|
||||
|
||||
// Output key bit that is connected to the datapath
|
||||
assign key_out = shift_out2;
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,45 @@
|
|||
`timescale 1ns / 1ps
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Team: Virginia Tech Secure Embedded Systems (SES) Lab
|
||||
// Implementer: Ege Gulcan
|
||||
//
|
||||
// Create Date: 19:14:37 11/13/2013
|
||||
// Design Name:
|
||||
// Module Name: top_module
|
||||
// Project Name:
|
||||
// Target Devices:
|
||||
// Tool versions:
|
||||
// Description:
|
||||
//
|
||||
// Dependencies:
|
||||
//
|
||||
// Revision:
|
||||
// Revision 0.01 - File Created
|
||||
// Additional Comments:
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
module top_module(clk,data_in,data_rdy,cipher_out);
|
||||
|
||||
input clk,data_in;
|
||||
input [1:0] data_rdy;
|
||||
output cipher_out;
|
||||
|
||||
wire key;
|
||||
wire [5:0] bit_counter;
|
||||
wire round_counter_out;
|
||||
|
||||
/*
|
||||
data_rdy=0 -> Reset, Idle
|
||||
data_rdy=1 -> Load Plaintext
|
||||
data_rdy=2 -> Load Key
|
||||
data_rdy=3 -> Run (keep at 3 while the block cipher is running)
|
||||
*/
|
||||
|
||||
simon_datapath_shiftreg datapath(.clk(clk), .data_in(data_in), .data_rdy(data_rdy), .key_in(key),
|
||||
. cipher_out(cipher_out), .round_counter(round_counter_out), .bit_counter(bit_counter));
|
||||
|
||||
simon_key_expansion_shiftreg key_exp(.clk(clk), .data_in(data_in), .data_rdy(data_rdy), .key_out(key), .bit_counter(bit_counter),
|
||||
.round_counter_out(round_counter_out));
|
||||
|
||||
|
||||
endmodule
|
|
@ -0,0 +1,93 @@
|
|||
`timescale 1ns / 1ps
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Team: Virginia Tech Secure Embedded Systems (SES) Lab
|
||||
// Implementer: Ege Gulcan
|
||||
//
|
||||
// Create Date: 19:49:46 11/13/2013
|
||||
// Design Name: top_module
|
||||
// Module Name: top_module_test.v
|
||||
// Project Name: SIMON
|
||||
// Target Device:
|
||||
// Tool versions:
|
||||
// Description:
|
||||
//
|
||||
// Verilog Test Fixture created by ISE for module: top_module
|
||||
//
|
||||
// Dependencies:
|
||||
//
|
||||
// Revision:
|
||||
// Revision 0.01 - File Created
|
||||
// Additional Comments:
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
module top_module_test;
|
||||
|
||||
// Inputs
|
||||
reg clk;
|
||||
reg data_in;
|
||||
reg [1:0] data_rdy;
|
||||
|
||||
// Outputs
|
||||
wire cipher_out;
|
||||
|
||||
// Plaintext and key from the NSA Simon and Speck paper
|
||||
reg [127:0] plaintext = 128'h63736564207372656c6c657661727420;
|
||||
reg [127:0] key = 128'h0f0e0d0c0b0a09080706050403020100;
|
||||
|
||||
integer i;
|
||||
|
||||
// Instantiate the Unit Under Test (UUT)
|
||||
top_module uut (
|
||||
.clk(clk),
|
||||
.data_in(data_in),
|
||||
.data_rdy(data_rdy),
|
||||
.cipher_out(cipher_out)
|
||||
);
|
||||
|
||||
initial begin
|
||||
// Initialize Inputs
|
||||
clk = 0;
|
||||
data_in = 0;
|
||||
data_rdy = 0;
|
||||
|
||||
#110;
|
||||
#5;
|
||||
//Set data_rdy=1 to load plaintext
|
||||
data_rdy=1;
|
||||
|
||||
//Loads the plaintext one bit per clock cycle for 128 cycles
|
||||
for(i=0;i<128;i = i+1)
|
||||
begin
|
||||
data_in = plaintext[i];
|
||||
#20;
|
||||
end
|
||||
|
||||
//Set data_rdy=2 to load key
|
||||
data_rdy = 2;
|
||||
|
||||
//Loads the key one bit per clock cycle for 128 cycles
|
||||
for(i=0;i<128;i = i+1)
|
||||
begin
|
||||
data_in = key[i];
|
||||
#20;
|
||||
end
|
||||
//Set data_rdy=0 after loading is done
|
||||
data_rdy = 0;
|
||||
#20;
|
||||
|
||||
//Keep data_rdy=3 while the cipher is running
|
||||
data_rdy = 3;
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
always #10 clk = ~clk;
|
||||
|
||||
|
||||
|
||||
endmodule
|
||||
|
|
@ -14,7 +14,7 @@ Feedback connections between LEs are implemented by the global routing architect
|
|||
|
||||
.. _fig_clb_arch:
|
||||
|
||||
.. figure:: ./figures/clb_arch.png
|
||||
.. figure:: ./figures/clb_arch.svg
|
||||
:scale: 20%
|
||||
:alt: Configurable Logic Block schematic
|
||||
|
||||
|
@ -32,7 +32,7 @@ As shown in :numref:`fig_fle_arch`, each Logic Element (LE) consists of
|
|||
|
||||
.. _fig_fle_arch:
|
||||
|
||||
.. figure:: ./figures/fle_arch.png
|
||||
.. figure:: ./figures/fle_arch.svg
|
||||
:scale: 30%
|
||||
:alt: Logic element schematic
|
||||
|
||||
|
|
Before Width: | Height: | Size: 376 KiB |
|
@ -0,0 +1,662 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="172.74487 23.546684 387.7383 634.0596" width="387.7383" height="634.0596">
|
||||
<defs>
|
||||
<font-face font-family="Times New Roman" font-size="26" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="TimesNewRomanPS-BoldMT"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<font-face font-family="Times New Roman" font-size="18" panose-1="2 2 5 3 5 4 5 9 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="48.828125" slope="-907.3885" x-height="430.1758" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-style="italic" font-weight="400">
|
||||
<font-face-src>
|
||||
<font-face-name name="TimesNewRomanPS-ItalicMT"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<font-face font-family="Times New Roman" font-size="19" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="TimesNewRomanPS-BoldMT"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<font-face font-family="Times New Roman" font-size="21" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="TimesNewRomanPS-BoldMT"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
</defs>
|
||||
<metadata> Produced by OmniGraffle 7.18\n2020-11-17 05:15:21 +0000</metadata>
|
||||
<g id="lb" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
|
||||
<title>lb</title>
|
||||
<g id="lb_le">
|
||||
<title>le</title>
|
||||
<g id="Graphic_389">
|
||||
<rect x="230.625" y="50.73861" width="282.31214" height="585.4767" fill="#ccc"/>
|
||||
<rect x="230.625" y="50.73861" width="282.31214" height="585.4767" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_306">
|
||||
<text transform="translate(225.22702 23.546684)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="26" font-weight="700" fill="black" x="0" y="23">CLB</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Group_323">
|
||||
<g id="Line_265">
|
||||
<line x1="499.1738" y1="570.8581" x2="512.93714" y2="570.8581" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_264">
|
||||
<line x1="498.375" y1="519.5989" x2="512.13835" y2="519.5989" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_260">
|
||||
<line x1="392.56796" y1="618.75" x2="392.56796" y2="636.2153" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_252">
|
||||
<text transform="translate(390.6112 486.84304)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_251">
|
||||
<text transform="translate(390.6112 549.8966)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out1</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_250">
|
||||
<text transform="translate(292.5654 484.2683)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_249">
|
||||
<text transform="translate(294.38047 548.3733)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in5</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_248">
|
||||
<text transform="translate(352.67097 476.8819)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">Cin</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_247">
|
||||
<text transform="translate(352.0815 557.4068)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">Cin</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_246">
|
||||
<rect x="287.76092" y="476.4653" width="210.61408" height="140.03472" fill="#ffff80"/>
|
||||
<rect x="287.76092" y="476.4653" width="210.61408" height="140.03472" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(292.76092 524.6755)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="19" font-weight="700" fill="black" x="87.63419" y="17">LE</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="19" font-weight="700" fill="black" x="89.22989" y="38.80713">[7]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_245">
|
||||
<text transform="translate(462.35326 509.7166)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_244">
|
||||
<text transform="translate(462.35326 560.97576)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out1</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_243">
|
||||
<text transform="translate(296.99142 481.3822)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_242">
|
||||
<text transform="translate(296.99142 550.97576)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in3</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_241">
|
||||
<text transform="translate(366.31518 594.0916)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">reg_out</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_240">
|
||||
<text transform="translate(366.31518 474.93224)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">reg_in</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_239">
|
||||
<line x1="392.56796" y1="459" x2="392.56796" y2="476.4653" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_309">
|
||||
<text transform="translate(296.99142 504.58004)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in1</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_310">
|
||||
<text transform="translate(296.99142 527.7779)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in2</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_311">
|
||||
<text transform="translate(291.4807 574.1736)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">CLK</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_312">
|
||||
<text transform="translate(428.5514 474.93224)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">sc_in</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_313">
|
||||
<text transform="translate(431.2312 594.0916)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">sc_out</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_314">
|
||||
<text transform="translate(290.30737 594.0916)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">Test_en</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_315">
|
||||
<line x1="273.1988" y1="493.36315" x2="286.96213" y2="493.36315" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_316">
|
||||
<line x1="273.1988" y1="514.46237" x2="286.96213" y2="514.46237" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_317">
|
||||
<line x1="273.1988" y1="537.6602" x2="286.96213" y2="537.6602" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_318">
|
||||
<line x1="273.1988" y1="559.77895" x2="286.96213" y2="559.77895" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_319">
|
||||
<line x1="273.99758" y1="581.8977" x2="287.76092" y2="581.8977" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_320">
|
||||
<line x1="273.1988" y1="605.0955" x2="286.96213" y2="605.0955" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_321">
|
||||
<line x1="447.04895" y1="459" x2="447.04895" y2="476.4653" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_322">
|
||||
<line x1="447.04895" y1="616.5" x2="447.04895" y2="633.9653" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_324">
|
||||
<g id="Line_355">
|
||||
<line x1="499.1738" y1="162.5967" x2="512.93714" y2="162.5967" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_354">
|
||||
<line x1="498.375" y1="111.33754" x2="512.13835" y2="111.33754" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_353">
|
||||
<line x1="392.56796" y1="210.4886" x2="392.56796" y2="227.95389" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_352">
|
||||
<text transform="translate(390.6112 78.58165)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_351">
|
||||
<text transform="translate(390.6112 141.63523)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out1</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_350">
|
||||
<text transform="translate(292.5654 76.00691)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_349">
|
||||
<text transform="translate(294.38047 140.1119)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in5</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_348">
|
||||
<text transform="translate(352.67097 68.6205)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">Cin</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_347">
|
||||
<text transform="translate(352.0815 149.14538)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">Cin</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_346">
|
||||
<rect x="287.76092" y="68.20389" width="210.61408" height="140.03472" fill="#ffff80"/>
|
||||
<rect x="287.76092" y="68.20389" width="210.61408" height="140.03472" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(292.76092 116.41412)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="19" font-weight="700" fill="black" x="87.63419" y="17">LE</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="19" font-weight="700" fill="black" x="89.22989" y="38.80713">[0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_345">
|
||||
<text transform="translate(462.35326 101.45522)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_344">
|
||||
<text transform="translate(462.35326 152.71437)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out1</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_343">
|
||||
<text transform="translate(296.99142 73.12079)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_342">
|
||||
<text transform="translate(296.99142 142.71437)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in3</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_341">
|
||||
<text transform="translate(366.31518 185.83022)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">reg_out</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_340">
|
||||
<text transform="translate(366.31518 66.67085)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">reg_in</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_339">
|
||||
<line x1="392.56796" y1="50.73861" x2="392.56796" y2="68.20389" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_338">
|
||||
<text transform="translate(296.99142 96.31865)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in1</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_337">
|
||||
<text transform="translate(296.99142 119.51651)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in2</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_336">
|
||||
<text transform="translate(291.4807 165.91223)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">CLK</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_335">
|
||||
<text transform="translate(428.5514 66.67085)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">sc_in</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_334">
|
||||
<text transform="translate(431.2312 185.83022)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">sc_out</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_333">
|
||||
<text transform="translate(290.30737 185.83022)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">Test_en</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_332">
|
||||
<path d="M 273.1988 85.10175 L 276.6276 84.95052 L 286.96213 85.10175" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_331">
|
||||
<line x1="273.1988" y1="106.20098" x2="286.96213" y2="106.20098" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_330">
|
||||
<line x1="273.1988" y1="129.39884" x2="286.96213" y2="129.39884" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_329">
|
||||
<line x1="273.1988" y1="151.51756" x2="286.96213" y2="151.51756" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_328">
|
||||
<line x1="273.99758" y1="173.63628" x2="287.76092" y2="173.63628" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_327">
|
||||
<line x1="273.1988" y1="196.83414" x2="286.96213" y2="196.83414" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_326">
|
||||
<line x1="447.04895" y1="50.73861" x2="447.04895" y2="68.20389" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_325">
|
||||
<line x1="447.04895" y1="208.2386" x2="447.04895" y2="225.70389" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_356">
|
||||
<g id="Line_387">
|
||||
<line x1="499.1738" y1="338.47864" x2="512.93714" y2="338.47864" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_386">
|
||||
<line x1="498.375" y1="287.2195" x2="512.13835" y2="287.2195" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_385">
|
||||
<line x1="392.56796" y1="386.37055" x2="392.56796" y2="403.83583" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_384">
|
||||
<text transform="translate(390.6112 254.4636)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_383">
|
||||
<text transform="translate(390.6112 317.51718)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out1</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_382">
|
||||
<text transform="translate(292.5654 251.88886)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_381">
|
||||
<text transform="translate(294.38047 315.99385)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in5</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_380">
|
||||
<text transform="translate(352.67097 244.50244)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">Cin</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_379">
|
||||
<text transform="translate(352.0815 325.02733)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">Cin</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_378">
|
||||
<rect x="287.76092" y="244.08583" width="210.61408" height="140.03472" fill="#ffff80"/>
|
||||
<rect x="287.76092" y="244.08583" width="210.61408" height="140.03472" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(292.76092 292.29606)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="19" font-weight="700" fill="black" x="87.63419" y="17">LE</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="19" font-weight="700" fill="black" x="89.22989" y="38.80713">[1]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_377">
|
||||
<text transform="translate(462.35326 277.33716)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_376">
|
||||
<text transform="translate(462.35326 328.5963)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">out1</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_375">
|
||||
<text transform="translate(296.99142 249.00273)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_374">
|
||||
<text transform="translate(296.99142 318.5963)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in3</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_373">
|
||||
<text transform="translate(366.31518 361.71216)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">reg_out</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_372">
|
||||
<text transform="translate(366.31518 242.5528)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">reg_in</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_371">
|
||||
<line x1="392.56796" y1="226.62055" x2="392.56796" y2="244.08583" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_370">
|
||||
<text transform="translate(296.99142 272.2006)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in1</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_369">
|
||||
<text transform="translate(296.99142 295.39846)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">in2</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_368">
|
||||
<text transform="translate(291.4807 341.79418)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">CLK</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_367">
|
||||
<text transform="translate(428.5514 242.5528)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">sc_in</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_366">
|
||||
<text transform="translate(431.2312 361.71216)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">sc_out</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_365">
|
||||
<text transform="translate(290.30737 361.71216)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">Test_en</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_364">
|
||||
<line x1="273.1988" y1="260.9837" x2="286.96213" y2="260.9837" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_363">
|
||||
<line x1="273.1988" y1="282.08292" x2="286.96213" y2="282.08292" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_362">
|
||||
<line x1="273.1988" y1="305.28078" x2="286.96213" y2="305.28078" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_361">
|
||||
<line x1="273.1988" y1="327.3995" x2="286.96213" y2="327.3995" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_360">
|
||||
<line x1="273.99758" y1="349.51822" x2="287.76092" y2="349.51822" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_359">
|
||||
<line x1="273.1988" y1="372.7161" x2="286.96213" y2="372.7161" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_358">
|
||||
<line x1="447.04895" y1="226.62055" x2="447.04895" y2="244.08583" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_357">
|
||||
<line x1="447.04895" y1="384.12055" x2="447.04895" y2="401.58583" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Graphic_388">
|
||||
<text transform="translate(409.73615 418.97187)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="21" font-weight="700" fill="black" x="0" y="19">...</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_390">
|
||||
<text transform="translate(366.31518 28.216606)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">reg_in</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_391">
|
||||
<text transform="translate(427.8562 28.216606)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">sc_in</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_393">
|
||||
<text transform="translate(368.9556 636.8416)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">reg_out</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_394">
|
||||
<text transform="translate(430.1062 636.8416)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">sc_out</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_438">
|
||||
<text transform="translate(183.7268 72.65411)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I0[0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_439">
|
||||
<text transform="translate(183.7268 96.27911)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I0[1]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_440">
|
||||
<text transform="translate(183.7268 119.9041)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I0[2]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_441">
|
||||
<text transform="translate(181.2263 143.5291)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I0i[0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_442">
|
||||
<text transform="translate(185.71752 163.99268)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">CLK</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_443">
|
||||
<text transform="translate(172.74487 183.33125)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">Test_en</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_447">
|
||||
<text transform="translate(187.6643 251.5291)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I1[0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_446">
|
||||
<text transform="translate(187.6643 275.1541)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I1[1]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_445">
|
||||
<text transform="translate(187.6643 298.7791)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I1[2]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_444">
|
||||
<text transform="translate(185.1638 322.4041)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I1i[0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_451">
|
||||
<text transform="translate(187.6643 483.2791)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I7[0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_450">
|
||||
<text transform="translate(187.6643 506.9041)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I7[1]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_449">
|
||||
<text transform="translate(187.6643 530.5291)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I7[2]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_448">
|
||||
<text transform="translate(185.1638 554.1541)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">I7i[0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_452">
|
||||
<text transform="translate(516.03686 99.6541)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">O[0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_453">
|
||||
<text transform="translate(516.03686 150.8416)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">O[1]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_455">
|
||||
<text transform="translate(516.03686 274.0291)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">O[2]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_454">
|
||||
<text transform="translate(516.03686 325.2166)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">O[3]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_457">
|
||||
<text transform="translate(515.47436 509.1541)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">O[14]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_456">
|
||||
<text transform="translate(515.47436 560.3416)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="18" font-style="italic" font-weight="400" fill="black" x="0" y="16">O[15]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
<g id="lb_wire">
|
||||
<title>wire</title>
|
||||
<g id="Group_421">
|
||||
<g id="Line_406">
|
||||
<line x1="230.64755" y1="85.06491" x2="273.26645" y2="85" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_405">
|
||||
<line x1="230.64755" y1="106.42149" x2="273.22134" y2="106.18991" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_404">
|
||||
<line x1="230.69266" y1="129.58816" x2="273.26645" y2="129.35658" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_403">
|
||||
<line x1="230.69266" y1="151.75482" x2="273.26645" y2="151.52325" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_402">
|
||||
<line x1="230.69266" y1="173.87982" x2="273.26645" y2="173.64825" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_401">
|
||||
<line x1="230.64755" y1="197.08816" x2="273.1988" y2="196.91667" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_413">
|
||||
<g id="Line_412">
|
||||
<line x1="230.5799" y1="261.3149" x2="273.1988" y2="261.25" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_411">
|
||||
<line x1="230.5799" y1="282.6715" x2="273.15368" y2="282.4399" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_410">
|
||||
<line x1="230.625" y1="305.83816" x2="273.1988" y2="305.60658" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_409">
|
||||
<line x1="230.625" y1="328.00482" x2="273.1988" y2="327.77325" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_408">
|
||||
<line x1="251.29167" y1="350.12982" x2="273.1988" y2="349.89825" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_423">
|
||||
<g id="Line_428">
|
||||
<line x1="230.64755" y1="493.6899" x2="273.26645" y2="493.625" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_427">
|
||||
<line x1="230.64755" y1="515.0465" x2="273.22134" y2="514.8149" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_426">
|
||||
<line x1="230.69266" y1="538.21316" x2="273.26645" y2="537.9816" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_425">
|
||||
<line x1="230.69266" y1="560.3798" x2="273.26645" y2="560.14825" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_424">
|
||||
<line x1="251.35933" y1="582.5048" x2="273.26645" y2="582.27325" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Line_430">
|
||||
<line x1="273.375" y1="196.875" x2="273.1988" y2="602.5469" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_431">
|
||||
<line x1="251.6332" y1="176.83295" x2="251.457" y2="582.5048" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_432">
|
||||
<ellipse cx="251.88934" cy="174.375" rx="3.93750629173872" ry="4.50000719055855" fill="black"/>
|
||||
<ellipse cx="251.88934" cy="174.375" rx="3.93750629173872" ry="4.50000719055855" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_433">
|
||||
<ellipse cx="273.6988" cy="196.3125" rx="3.93750629173876" ry="4.50000719055856" fill="black"/>
|
||||
<ellipse cx="273.6988" cy="196.3125" rx="3.93750629173876" ry="4.50000719055856" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_434">
|
||||
<ellipse cx="251.88934" cy="350.4375" rx="3.93750629173872" ry="4.50000719055853" fill="black"/>
|
||||
<ellipse cx="251.88934" cy="350.4375" rx="3.93750629173872" ry="4.50000719055853" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_435">
|
||||
<ellipse cx="273.6988" cy="371.9375" rx="3.93750629173876" ry="4.50000719055853" fill="black"/>
|
||||
<ellipse cx="273.6988" cy="371.9375" rx="3.93750629173876" ry="4.50000719055853" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_436">
|
||||
<ellipse cx="273.6988" cy="604.6875" rx="3.93750629173876" ry="4.50000719055857" fill="black"/>
|
||||
<ellipse cx="273.6988" cy="604.6875" rx="3.93750629173876" ry="4.50000719055857" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_437">
|
||||
<ellipse cx="251.88934" cy="582.1875" rx="3.93750629173872" ry="4.50000719055857" fill="black"/>
|
||||
<ellipse cx="251.88934" cy="582.1875" rx="3.93750629173872" ry="4.50000719055857" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 182 KiB |
|
@ -0,0 +1,253 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="628.9111 1022.3935 418.46777 349.9947" width="418.46777" height="349.9947">
|
||||
<defs>
|
||||
<font-face font-family="Times" font-size="16" panose-1="0 0 5 0 0 0 0 9 0 0" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="-937.5" x-height="446.28906" cap-height="652.34375" ascent="750" descent="-250" font-style="italic" font-weight="400">
|
||||
<font-face-src>
|
||||
<font-face-name name="Times-Italic"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<font-face font-family="Times" font-size="16" panose-1="0 0 8 0 0 0 0 9 0 0" units-per-em="1000" underline-position="-66.40625" underline-thickness="67.87109" slope="-937.5" x-height="462.8906" cap-height="668.9453" ascent="750" descent="-250" font-style="italic" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="Times-BoldItalic"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#7f8080">
|
||||
<g>
|
||||
<path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="#7f8080">
|
||||
<g>
|
||||
<path d="M -8 0 L 0 3 L 0 -3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<font-face font-family="Times New Roman" font-size="13" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="TimesNewRomanPS-BoldMT"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
</defs>
|
||||
<metadata> Produced by OmniGraffle 7.18\n2020-11-19 23:01:04 +0000</metadata>
|
||||
<g id="switch" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
|
||||
<title>switch</title>
|
||||
<g id="switch_boundary">
|
||||
<title>boundary</title>
|
||||
<g id="Graphic_567">
|
||||
<rect x="744.75" y="1083.375" width="210.375" height="232.875" fill="#ffff80"/>
|
||||
<path d="M 955.125 1083.375 L 744.75 1083.375 L 744.75 1316.25 L 955.125 1316.25 Z" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_568">
|
||||
<line x1="955.125" y1="1235.206" x2="923.7813" y2="1235.9262" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_569">
|
||||
<path d="M 859.332 1083 L 859.332 1101.6667 L 886.389 1101.4805" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_570">
|
||||
<text transform="translate(829.418 1059.375)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">CCFF_IN</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_571">
|
||||
<line x1="937.694" y1="1107.1693" x2="955.1471" y2="1107" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_572">
|
||||
<text transform="translate(961.4805 1096.0833)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">CCFF_OUT</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_573">
|
||||
<line x1="744.75" y1="1022.8935" x2="744.75" y2="1324" stroke="#7f8080" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_574">
|
||||
<text transform="translate(756.29 1027.8935)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="700" fill="black" x="0" y="15">FPGA Fabric</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_575">
|
||||
<text transform="translate(642.9111 1027.8935)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="700" fill="black" x="0" y="15">SoC Interface</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_576">
|
||||
<line x1="963.5113" y1="1050.1534" x2="639.311" y2="1051.8419" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#7f8080" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="switch_base">
|
||||
<title>base</title>
|
||||
<g id="Graphic_514">
|
||||
<text transform="translate(684.168 1226.7952)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">SOC_IN</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_515">
|
||||
<text transform="translate(670.8359 1277.3506)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">SOC_OUT</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_517">
|
||||
<line x1="892.0556" y1="1236.2952" x2="743.3945" y2="1236.2952" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_518">
|
||||
<line x1="795.4195" y1="1203.125" x2="795.4195" y2="1277.7382" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_519">
|
||||
<line x1="907.753" y1="1203.0717" x2="907.7329" y2="1226.9284" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_522">
|
||||
<line x1="956.4805" y1="1287.1037" x2="811.0889" y2="1287.1088" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_523">
|
||||
<text transform="translate(961.4805 1277.602)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">FPGA_OUT</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_524">
|
||||
<text transform="translate(960.125 1224.8457)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">FPGA_IN</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_542">
|
||||
<ellipse cx="795.4195" cy="1199.125" rx="2.53125404468923" ry="3.00000479370559" fill="black"/>
|
||||
<ellipse cx="795.4195" cy="1199.125" rx="2.53125404468923" ry="3.00000479370559" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_543">
|
||||
<line x1="743.3945" y1="1199.675" x2="904.2251" y2="1199.0847" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_544">
|
||||
<text transform="translate(673.5117 1190.3125)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">SOC_DIR</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_545">
|
||||
<ellipse cx="907.7563" cy="1199.0717" rx="2.53125404468911" ry="3.00000479370553" fill="black"/>
|
||||
<ellipse cx="907.7563" cy="1199.0717" rx="2.53125404468911" ry="3.00000479370553" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Group_552">
|
||||
<g id="Graphic_556">
|
||||
<path d="M 907.8607 1148.8333 L 907.8607 1156.8333 C 909.8607 1176.8333 915.8607 1178.8333 927.8607 1188.8333 C 939.8607 1178.8333 945.8607 1176.8333 947.8607 1156.8333 L 947.8607 1148.8333 C 939.8607 1150.8333 938.8607 1151.8333 927.8607 1152.8333 C 916.8607 1151.8333 915.8607 1150.8333 907.8607 1148.8333" fill="white"/>
|
||||
<path d="M 907.8607 1148.8333 L 907.8607 1156.8333 C 909.8607 1176.8333 915.8607 1178.8333 927.8607 1188.8333 C 939.8607 1178.8333 945.8607 1176.8333 947.8607 1156.8333 L 947.8607 1148.8333 C 939.8607 1150.8333 938.8607 1151.8333 927.8607 1152.8333 C 916.8607 1151.8333 915.8607 1150.8333 907.8607 1148.8333" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_555">
|
||||
<line x1="937.8607" y1="1138.8333" x2="937.8607" y2="1150.3333" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_554">
|
||||
<line x1="917.8607" y1="1138.8333" x2="917.8607" y2="1148.8333" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_553">
|
||||
<line x1="927.8607" y1="1187.541" x2="927.8607" y2="1198.8333" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Graphic_558">
|
||||
<rect x="887.002" y="1091.0833" width="29.338917" height="32.89894" fill="white"/>
|
||||
<rect x="887.002" y="1091.0833" width="29.338917" height="32.89894" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(892.002 1099.7567)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="13" font-weight="700" fill="black" x="1.7285404" y="12">FF</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_557">
|
||||
<path d="M 886.944 1112.6843 L 895.7246 1115.9805 L 886.944 1119.2767 Z" fill="#ccc"/>
|
||||
<path d="M 886.944 1112.6843 L 895.7246 1115.9805 L 886.944 1119.2767 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_559">
|
||||
<line x1="743.3945" y1="1116.7604" x2="886.944" y2="1116.0036" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_560">
|
||||
<text transform="translate(657.4961 1107.5)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">PROG_CLK</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_561">
|
||||
<path d="M 917.341 1107.3747 L 937.694 1107.1693 L 937.8607 1138.8333" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_562">
|
||||
<line x1="740.5195" y1="1138.8849" x2="917.341" y2="1138.25" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_563">
|
||||
<text transform="translate(658.1836 1129.5417)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">IO_ISOL_N</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_564">
|
||||
<line x1="909.2875" y1="1199.0536" x2="927.8607" y2="1198.8333" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_565">
|
||||
<line x1="778.791" y1="1287.0613" x2="746.0703" y2="1286.9666" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_583">
|
||||
<path d="M 950.625 1109.5817 L 950.625 1103.8796 L 950.625 1103.8796 L 950.625 1101.0285 L 961.0859 1106.7306 L 950.625 1112.4328 L 950.625 1109.5817 Z" fill="#c0ffff"/>
|
||||
<path d="M 950.625 1109.5817 L 950.625 1103.8796 L 950.625 1103.8796 L 950.625 1101.0285 L 961.0859 1106.7306 L 950.625 1112.4328 L 950.625 1109.5817 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_582">
|
||||
<path d="M 950.625 1237.0586 L 950.625 1231.3565 L 950.625 1231.3565 L 950.625 1228.5054 L 961.0859 1234.2075 L 950.625 1239.9097 L 950.625 1237.0586 Z" fill="#c0ffff"/>
|
||||
<path d="M 950.625 1237.0586 L 950.625 1231.3565 L 950.625 1231.3565 L 950.625 1228.5054 L 961.0859 1234.2075 L 950.625 1239.9097 L 950.625 1237.0586 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_581">
|
||||
<path d="M 957.7109 1289.815 L 957.7109 1284.1128 L 957.7109 1284.1128 L 957.7109 1281.2617 L 947.25 1286.9639 L 957.7109 1292.666 L 957.7109 1289.815 Z" fill="#ff8080"/>
|
||||
<path d="M 957.7109 1289.815 L 957.7109 1284.1128 L 957.7109 1284.1128 L 957.7109 1281.2617 L 947.25 1286.9639 L 957.7109 1292.666 L 957.7109 1289.815 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_584">
|
||||
<path d="M 856.313 1078.2217 L 862.0151 1078.2217 L 862.0151 1078.2217 L 864.8662 1078.2217 L 859.1641 1088.6826 L 853.4619 1078.2217 L 856.313 1078.2217 Z" fill="#c0ffff"/>
|
||||
<path d="M 856.313 1078.2217 L 862.0151 1078.2217 L 862.0151 1078.2217 L 864.8662 1078.2217 L 859.1641 1088.6826 L 853.4619 1078.2217 L 856.313 1078.2217 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_585">
|
||||
<path d="M 740.0195 1119.8511 L 740.0195 1114.1489 L 740.0195 1114.1489 L 740.0195 1111.2979 L 750.4805 1117 L 740.0195 1122.7021 L 740.0195 1119.8511 Z" fill="#c0ffff"/>
|
||||
<path d="M 740.0195 1119.8511 L 740.0195 1114.1489 L 740.0195 1114.1489 L 740.0195 1111.2979 L 750.4805 1117 L 740.0195 1122.7021 L 740.0195 1119.8511 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_586">
|
||||
<path d="M 740.0195 1141.8927 L 740.0195 1136.1906 L 740.0195 1136.1906 L 740.0195 1133.3395 L 750.4805 1139.0417 L 740.0195 1144.7438 L 740.0195 1141.8927 Z" fill="#c0ffff"/>
|
||||
<path d="M 740.0195 1141.8927 L 740.0195 1136.1906 L 740.0195 1136.1906 L 740.0195 1133.3395 L 750.4805 1139.0417 L 740.0195 1144.7438 L 740.0195 1141.8927 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_587">
|
||||
<path d="M 742.0195 1239.1968 L 742.0195 1233.4946 L 742.0195 1233.4946 L 742.0195 1230.6436 L 752.4805 1236.3457 L 742.0195 1242.0479 L 742.0195 1239.1968 Z" fill="#c0ffff"/>
|
||||
<path d="M 742.0195 1239.1968 L 742.0195 1233.4946 L 742.0195 1233.4946 L 742.0195 1230.6436 L 752.4805 1236.3457 L 742.0195 1242.0479 L 742.0195 1239.1968 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_588">
|
||||
<path d="M 750.4805 1201.9761 L 750.4805 1196.2739 L 750.4805 1196.2739 L 750.4805 1193.4229 L 740.0195 1199.125 L 750.4805 1204.8271 L 750.4805 1201.9761 Z" fill="#ff8080"/>
|
||||
<path d="M 750.4805 1201.9761 L 750.4805 1196.2739 L 750.4805 1196.2739 L 750.4805 1193.4229 L 740.0195 1199.125 L 750.4805 1204.8271 L 750.4805 1201.9761 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_589">
|
||||
<path d="M 750.4805 1289.815 L 750.4805 1284.1128 L 750.4805 1284.1128 L 750.4805 1281.2617 L 740.0195 1286.9639 L 750.4805 1292.666 L 750.4805 1289.815 Z" fill="#ff8080"/>
|
||||
<path d="M 750.4805 1289.815 L 750.4805 1284.1128 L 750.4805 1284.1128 L 750.4805 1281.2617 L 740.0195 1286.9639 L 750.4805 1292.666 L 750.4805 1289.815 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_590">
|
||||
<path d="M 869.7197 1360.7393 L 869.7197 1355.0371 L 869.7197 1355.0371 L 869.7197 1352.186 L 859.2588 1357.8882 L 869.7197 1363.5903 L 869.7197 1360.7393 Z" fill="#ff8080"/>
|
||||
<path d="M 869.7197 1360.7393 L 869.7197 1355.0371 L 869.7197 1355.0371 L 869.7197 1352.186 L 859.2588 1357.8882 L 869.7197 1363.5903 L 869.7197 1360.7393 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_591">
|
||||
<text transform="translate(882.4463 1348.25)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">output pin</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_593">
|
||||
<text transform="translate(762.583 1348.3882)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">input pin</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_592">
|
||||
<path d="M 744.75 1360.601 L 744.75 1354.899 L 744.75 1354.899 L 744.75 1352.0479 L 755.2109 1357.75 L 744.75 1363.4521 L 744.75 1360.601 Z" fill="#c0ffff"/>
|
||||
<path d="M 744.75 1360.601 L 744.75 1354.899 L 744.75 1354.899 L 744.75 1352.0479 L 755.2109 1357.75 L 744.75 1363.4521 L 744.75 1360.601 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_595">
|
||||
<path d="M 893.0556 1219.8457 L 922.3945 1236.2952 L 893.0556 1252.7446 Z" fill="white"/>
|
||||
<path d="M 893.0556 1219.8457 L 922.3945 1236.2952 L 893.0556 1252.7446 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_597">
|
||||
<path d="M 810.0889 1270.6599 L 780.75 1287.1094 L 810.0889 1303.5588 Z" fill="white"/>
|
||||
<path d="M 810.0889 1270.6599 L 780.75 1287.1094 L 810.0889 1303.5588 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_600">
|
||||
<ellipse cx="937.4107" cy="1107.5328" rx="2.53125404468917" ry="3.00000479370565" fill="black"/>
|
||||
<ellipse cx="937.4107" cy="1107.5328" rx="2.53125404468917" ry="3.00000479370565" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_602">
|
||||
<circle cx="795.4195" cy="1275.1599" r="4.50000719055851" fill="white"/>
|
||||
<circle cx="795.4195" cy="1275.1599" r="4.50000719055851" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_603">
|
||||
<circle cx="917.8945" cy="1146.375" r="4.50000719055851" fill="white"/>
|
||||
<circle cx="917.8945" cy="1146.375" r="4.50000719055851" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 208 KiB |
|
@ -0,0 +1,320 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="23.467723 118.41154 683.4357 506.50814" width="683.4357" height="506.50814">
|
||||
<defs>
|
||||
<font-face font-family="Times New Roman" font-size="26" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="TimesNewRomanPS-BoldMT"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Arrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -3 7 6" markerWidth="7" markerHeight="6" color="black">
|
||||
<g>
|
||||
<path d="M 4.8 0 L 0 -1.8 L 0 1.8 Z" fill="none" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<font-face font-family="Times New Roman" font-size="16" panose-1="2 2 7 3 6 5 5 9 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="-1020.812" x-height="438.96484" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-style="italic" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="TimesNewRomanPS-BoldItalicMT"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<font-face font-family="Times New Roman" font-size="16" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="TimesNewRomanPS-BoldMT"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Arrow_Marker_2" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -3 7 6" markerWidth="7" markerHeight="6" color="#ff2600">
|
||||
<g>
|
||||
<path d="M 4.8 0 L 0 -1.8 L 0 1.8 Z" fill="none" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Arrow_Marker_3" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -3 7 6" markerWidth="7" markerHeight="6" color="#ff2600">
|
||||
<g>
|
||||
<path d="M 4.8 0 L 0 -1.8 L 0 1.8 Z" fill="none" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
</defs>
|
||||
<metadata> Produced by OmniGraffle 7.18\n2020-11-17 17:11:00 +0000</metadata>
|
||||
<g id="fpga_arch" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
|
||||
<title>fpga_arch</title>
|
||||
<g id="fpga_arch_legend">
|
||||
<title>legend</title>
|
||||
<g id="Graphic_2945">
|
||||
<rect x="123.1162" y="150.12" width="493.92" height="447.12" fill="#ccc"/>
|
||||
<rect x="123.1162" y="150.12" width="493.92" height="447.12" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2946">
|
||||
<text transform="translate(116.94136 118.41154)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="26" font-weight="700" fill="black" x="0" y="23">FPGA</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2947">
|
||||
<line x1="109.44" y1="612.32" x2="204.68613" y2="612.32" marker-end="url(#Arrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2948">
|
||||
<text transform="translate(226.76 602.24)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="black" x="0" y="14">x</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2949">
|
||||
<line x1="109.44" y1="611.32" x2="109.44" y2="512.9" marker-end="url(#Arrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2950">
|
||||
<text transform="translate(106.38922 476.3203)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="black" x="0" y="14">y</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
<g id="fpga_arch_chain">
|
||||
<title>chain</title>
|
||||
<g id="Graphic_2895">
|
||||
<rect x="136.8" y="171.51984" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="136.8" y="171.51984" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(141.8 187.24023)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="8.614643" y="31.679688">[1][12]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2897">
|
||||
<line x1="106.38179" y1="204.91992" x2="122.9" y2="204.91992" marker-end="url(#Arrow_Marker_2)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2898">
|
||||
<text transform="translate(28.467723 196.08007)" fill="#ff2600">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="#ff2600" x="0" y="14">SC_HEAD</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_2902">
|
||||
<rect x="136.8" y="265.68" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="136.8" y="265.68" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(141.8 281.4004)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="9.056049" y="31.679688">[1][11]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2901">
|
||||
<line x1="173.0709" y1="239.32" x2="173.0709" y2="251.78" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_2903">
|
||||
<line x1="173.57886" y1="333.48015" x2="173.80953" y2="349.1014" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2904">
|
||||
<text transform="translate(165.07089 364.84015)" fill="#ff2600">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="#ff2600" x="0" y="14">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_2908">
|
||||
<rect x="136.8" y="425.2398" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="136.8" y="425.2398" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(141.8 440.9602)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="12.614643" y="31.679688">[1][2]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2907">
|
||||
<line x1="173" y1="392.4" x2="173.02027" y2="411.33983" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2906">
|
||||
<rect x="136.8" y="519.4" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="136.8" y="519.4" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(141.8 535.1204)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="12.614643" y="31.679688">[1][1]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2905">
|
||||
<line x1="173.0709" y1="493.04" x2="173.0709" y2="505.5" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2918">
|
||||
<rect x="239.76" y="171.51984" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="239.76" y="171.51984" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(244.76 187.24023)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="8.614643" y="31.679688">[2][12]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2917">
|
||||
<line x1="313.30178" y1="204.40795" x2="330.1012" y2="204.17718" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2916">
|
||||
<rect x="239.76" y="265.68" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="239.76" y="265.68" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(244.76 281.4004)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="9.056049" y="31.679688">[2][11]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2915">
|
||||
<line x1="276.0309" y1="264.68" x2="276.0309" y2="252.22" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_2914">
|
||||
<line x1="276.96" y1="362" x2="276.72933" y2="346.37874" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2913">
|
||||
<text transform="translate(268.0309 364.84015)" fill="#ff2600">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="#ff2600" x="0" y="14">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_2912">
|
||||
<rect x="239.76" y="425.2398" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="239.76" y="425.2398" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(244.76 440.9602)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="12.614643" y="31.679688">[2][2]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2911">
|
||||
<line x1="275.99407" y1="424.23983" x2="275.9738" y2="405.3" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2910">
|
||||
<rect x="239.76" y="519.4" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="239.76" y="519.4" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(244.76 535.1204)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="12.614643" y="31.679688">[2][1]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2909">
|
||||
<line x1="276.0309" y1="518.4" x2="276.0309" y2="505.94" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_2919">
|
||||
<line x1="210.34178" y1="552.80006" x2="225.86" y2="552.80006" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2940">
|
||||
<rect x="422.96" y="171.51984" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="422.96" y="171.51984" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(427.96 187.24023)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="5.0560493" y="31.679688">[11][12]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2939">
|
||||
<line x1="384.48" y1="205" x2="409.06" y2="204.97367" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2938">
|
||||
<rect x="422.96" y="265.68" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="422.96" y="265.68" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(427.96 281.4004)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="5.4974556" y="31.679688">[11][11]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2937">
|
||||
<line x1="459.2309" y1="239.32" x2="459.2309" y2="251.78" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_2936">
|
||||
<line x1="459.73884" y1="333.48015" x2="459.9695" y2="349.1014" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2935">
|
||||
<text transform="translate(451.2309 364.84015)" fill="#ff2600">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="#ff2600" x="0" y="14">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_2934">
|
||||
<rect x="422.96" y="425.2398" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="422.96" y="425.2398" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(427.96 440.9602)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="9.056049" y="31.679688">[11][2]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2933">
|
||||
<line x1="459.16" y1="392.4" x2="459.18025" y2="411.33983" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2932">
|
||||
<rect x="422.96" y="519.4" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="422.96" y="519.4" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(427.96 535.1204)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="9.056049" y="31.679688">[11][1]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2931">
|
||||
<line x1="459.2309" y1="493.04" x2="459.2309" y2="505.5" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2930">
|
||||
<rect x="525.92" y="171.51984" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="525.92" y="171.51984" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(530.92 187.24023)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="4.614643" y="31.679688">[12][12]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2929">
|
||||
<line x1="599.46176" y1="204.91992" x2="620.8706" y2="204.91992" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2928">
|
||||
<rect x="525.92" y="265.68" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="525.92" y="265.68" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(530.92 281.4004)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="5.0560493" y="31.679688">[12][11]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2927">
|
||||
<line x1="562.1909" y1="264.68" x2="562.1909" y2="252.22" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_2926">
|
||||
<line x1="563.12" y1="362" x2="562.8893" y2="346.37874" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2925">
|
||||
<text transform="translate(554.1909 364.84015)" fill="#ff2600">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="#ff2600" x="0" y="14">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_2924">
|
||||
<rect x="525.92" y="425.2398" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="525.92" y="425.2398" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(530.92 440.9602)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="8.614643" y="31.679688">[12][2]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2923">
|
||||
<line x1="562.15406" y1="424.23983" x2="562.1338" y2="405.3" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2922">
|
||||
<rect x="525.92" y="519.4" width="72.54179" height="66.800154" fill="#005cff"/>
|
||||
<rect x="525.92" y="519.4" width="72.54179" height="66.800154" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(530.92 535.1204)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="14.821674" y="14">CLB</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="16" font-weight="700" fill="white" x="8.614643" y="31.679688">[12][1]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_2921">
|
||||
<line x1="562.1909" y1="518.4" x2="562.1909" y2="505.94" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_2920">
|
||||
<line x1="496.50177" y1="552.80006" x2="512.02" y2="552.80006" marker-end="url(#Arrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_2941">
|
||||
<text transform="translate(355.64 196.08007)" fill="#ff2600">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="#ff2600" x="0" y="14">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_2942">
|
||||
<text transform="translate(638.7706 196.08007)" fill="#ff2600">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="#ff2600" x="0" y="14">SC_TAIL</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_2951">
|
||||
<text transform="translate(355.64 364.84015)" fill="#ff2600">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="#ff2600" x="0" y="14">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_2952">
|
||||
<text transform="translate(355.64 295.16)" fill="#ff2600">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="#ff2600" x="0" y="14">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_2953">
|
||||
<text transform="translate(355.64 449.80006)" fill="#ff2600">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="#ff2600" x="0" y="14">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_2955">
|
||||
<text transform="translate(355.64 543.9602)" fill="#ff2600">
|
||||
<tspan font-family="Times New Roman" font-size="16" font-style="italic" font-weight="700" fill="#ff2600" x="0" y="14">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 155 KiB |
|
@ -0,0 +1,293 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="179.00033 169.875 415.5905 256.87067" width="415.5905" height="256.87067">
|
||||
<defs>
|
||||
<font-face font-family="Times New Roman" font-size="15" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="TimesNewRomanPS-BoldMT"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<font-face font-family="Times New Roman" font-size="15" panose-1="2 2 7 3 6 5 5 9 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="-1088.8662" x-height="438.96484" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-style="italic" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="TimesNewRomanPS-BoldItalicMT"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<font-face font-family="Times New Roman" font-size="12" panose-1="2 2 8 3 7 5 5 2 3 4" units-per-em="1000" underline-position="-108.88672" underline-thickness="95.21484" slope="0" x-height="456.54297" cap-height="662.1094" ascent="891.1133" descent="-216.3086" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="TimesNewRomanPS-BoldMT"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
</defs>
|
||||
<metadata> Produced by OmniGraffle 7.18\n2020-11-19 22:55:20 +0000</metadata>
|
||||
<g id="frac_lut4" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
|
||||
<title>frac_lut4</title>
|
||||
<g id="frac_lut4_图层_1">
|
||||
<title>图层 1</title>
|
||||
<g id="Graphic_195">
|
||||
<rect x="208.45749" y="190.125" width="344.69553" height="213.72704" fill="#ffffc0"/>
|
||||
<path d="M 553.153 190.125 L 208.45749 190.125 L 208.45749 403.85204 L 553.153 403.85204 Z" stroke="gray" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4.0,4.0" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_155">
|
||||
<line x1="293.573" y1="240.8071" x2="383.18888" y2="240" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_151">
|
||||
<rect x="234.96644" y="218.1116" width="56.5337" height="139.87187" fill="#417fff"/>
|
||||
<rect x="234.96644" y="218.1116" width="56.5337" height="139.87187" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<text transform="translate(239.96644 279.72893)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-weight="700" fill="white" x="1.5981503" y="13">4-LUT</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_149">
|
||||
<line x1="208.86372" y1="272.12447" x2="235.21038" y2="272.27678" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_148">
|
||||
<line x1="208.53864" y1="311.19668" x2="234.8853" y2="311.349" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_97">
|
||||
<text transform="translate(185.70638 334.22715)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in3</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_95">
|
||||
<text transform="translate(186.45032 225.22458)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in0</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_94">
|
||||
<text transform="translate(186.45032 263.8088)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in1</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_93">
|
||||
<text transform="translate(185.70638 302.39303)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">in2</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_82">
|
||||
<rect x="470.2566" y="264.61723" width="29.338917" height="32.89894" fill="#0679ff"/>
|
||||
<rect x="470.2566" y="264.61723" width="29.338917" height="32.89894" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_81">
|
||||
<path d="M 525.7159 242.52775 L 537.7182 253.49406 L 537.7182 275.12207 L 525.7159 286.69762 L 525.7159 242.52775" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_80">
|
||||
<text transform="translate(475.0388 272.7481)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-weight="700" fill="white" x="0" y="13">FF</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_79">
|
||||
<line x1="399.1131" y1="250.70457" x2="521.9307" y2="251.33333" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_78">
|
||||
<line x1="500.76346" y1="277.83333" x2="524.768" y2="277.88812" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_77">
|
||||
<line x1="456.921" y1="277.55904" x2="468.9233" y2="277.55904" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_71">
|
||||
<line x1="460.1427" y1="289.01437" x2="468.9233" y2="289.01437" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_67">
|
||||
<line x1="436.98503" y1="277.33333" x2="456.921" y2="277.55904" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_66">
|
||||
<line x1="539.9307" y1="266.00524" x2="551.933" y2="266.00524" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_65">
|
||||
<text transform="translate(557.09085 256.1682)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">out[0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_10">
|
||||
<path d="M 383.18888 227.40694 L 383.19366 276.4463 C 383.19366 276.4463 398.50074 269.07623 398.2173 268.79276 C 397.9338 268.5093 397.92903 232.79276 397.92903 232.79276 Z" fill="#417fff"/>
|
||||
<path d="M 383.18888 227.40694 L 383.19366 276.4463 C 383.19366 276.4463 398.50074 269.07623 398.2173 268.79276 C 397.9338 268.5093 397.92903 232.79276 397.92903 232.79276 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_9">
|
||||
<text transform="translate(385.04194 228.89688)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="0" y="11">M</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="1.3300781" y="25.509766">U</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="1.3300781" y="40.01953">X</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_159">
|
||||
<line x1="208.7101" y1="233.11812" x2="235.05676" y2="233.27043" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_184">
|
||||
<rect x="470.64405" y="333.66043" width="29.338917" height="32.89894" fill="#0679ff"/>
|
||||
<rect x="470.64405" y="333.66043" width="29.338917" height="32.89894" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_183">
|
||||
<path d="M 526.93593 311.8801 L 538.9382 322.84643 L 538.9382 344.47444 L 526.93593 356.05 L 526.93593 311.8801" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_182">
|
||||
<text transform="translate(476.2588 342.10046)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-weight="700" fill="white" x="0" y="13">FF</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_181">
|
||||
<line x1="438.287" y1="324" x2="526.93593" y2="323.47703" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_180">
|
||||
<line x1="499.3163" y1="346.9114" x2="525.98805" y2="347.2405" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_179">
|
||||
<line x1="458.141" y1="346.9114" x2="470.1433" y2="346.9114" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_173">
|
||||
<line x1="460.0294" y1="358.36674" x2="470.1433" y2="358.36674" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_169">
|
||||
<path d="M 435.6845 327.798 L 435.5637 347.33333 L 458.141 346.9114" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_168">
|
||||
<line x1="541.1507" y1="335.3576" x2="553.153" y2="335.3576" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_167">
|
||||
<text transform="translate(557.09085 325.5206)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">out[1]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_166">
|
||||
<ellipse cx="435.7046" cy="324.54805" rx="2.58243758861829" ry="2.75000439423018" fill="black"/>
|
||||
<ellipse cx="435.7046" cy="324.54805" rx="2.58243758861829" ry="2.75000439423018" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_187">
|
||||
<text transform="translate(296.82473 251.7978)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">LUT4_out</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_190">
|
||||
<line x1="208.7101" y1="344.3335" x2="235.05676" y2="344.4858" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_191">
|
||||
<line x1="291.7724" y1="271.4607" x2="382.29696" y2="271" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_192">
|
||||
<line x1="291.5813" y1="324.50875" x2="338.24768" y2="324.04805" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_193">
|
||||
<text transform="translate(293.65994 219.54083)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">LUT3_out[0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_194">
|
||||
<text transform="translate(296.20583 305.9816)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">LUT3_out[1]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_201">
|
||||
<line x1="484.9261" y1="263.61723" x2="484.9261" y2="189.37067" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_202">
|
||||
<text transform="translate(472.42364 171.30423)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">scin</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_203">
|
||||
<path d="M 485.16157 332.66047 L 484.9886 312.79427 L 514.22684 312.5 L 514.4822 277.86465" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_204">
|
||||
<path d="M 485.14743 403.85204 L 485.14743 383.16667 L 516.0583 383.1704" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_205">
|
||||
<text transform="translate(467.94894 408.67923)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">scout</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_206">
|
||||
<line x1="516.10255" y1="403.85204" x2="515.98077" y2="346.9114" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_207">
|
||||
<ellipse cx="515.47594" cy="347.1108" rx="2.58243758861826" ry="2.7500043942302" fill="black"/>
|
||||
<ellipse cx="515.47594" cy="347.1108" rx="2.58243758861826" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_208">
|
||||
<ellipse cx="516.05846" cy="383.237" rx="2.58243758861826" ry="2.7500043942302" fill="black"/>
|
||||
<ellipse cx="516.05846" cy="383.237" rx="2.58243758861826" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_209">
|
||||
<ellipse cx="514.0598" cy="277.86368" rx="2.58243758861826" ry="2.7500043942302" fill="black"/>
|
||||
<ellipse cx="514.0598" cy="277.86368" rx="2.58243758861826" ry="2.7500043942302" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_210">
|
||||
<text transform="translate(406.6418 171.6428)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">regin</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_224">
|
||||
<path d="M 434.01406 253.81365 L 434.01885 302.853 C 434.01885 302.853 449.32593 295.48294 449.04247 295.19947 C 448.759 294.916 448.7542 259.19948 448.7542 259.19948 Z" fill="#417fff"/>
|
||||
<path d="M 434.01406 253.81365 L 434.01885 302.853 C 434.01885 302.853 449.32593 295.48294 449.04247 295.19947 C 448.759 294.916 448.7542 259.19948 448.7542 259.19948 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_223">
|
||||
<text transform="translate(435.8671 255.27693)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="0" y="11">M</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="1.3300781" y="25.509766">U</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="1.3300781" y="40.01953">X</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_226">
|
||||
<path d="M 422.78366 189.70924 L 421.90706 266.99222 L 434.01406 266.66667" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_227">
|
||||
<path d="M 405.67654 250.73817 L 405.66667 292.68104 L 433.12215 292.66667" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_228">
|
||||
<ellipse cx="405.64233" cy="250.738" rx="2.58243758861832" ry="2.75000439423021" fill="black"/>
|
||||
<ellipse cx="405.64233" cy="250.738" rx="2.58243758861832" ry="2.75000439423021" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_230">
|
||||
<line x1="338.24768" y1="324.04805" x2="432.6222" y2="324.53224" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_231">
|
||||
<text transform="translate(510.381 408.67923)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="15" font-style="italic" font-weight="700" fill="black" x="0" y="13">regout</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_232">
|
||||
<text transform="translate(179.00033 375.9821)" fill="black">
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="black" x="0" y="11">CLK</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_233">
|
||||
<path d="M 208.86372 382 L 460.0294 382.66667 L 460.0294 358.36674" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_234">
|
||||
<line x1="460.1427" y1="289.01437" x2="460.0294" y2="358.36674" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_235">
|
||||
<ellipse cx="460.0305" cy="357.6732" rx="2.58243758861832" ry="2.75000439423023" fill="black"/>
|
||||
<ellipse cx="460.0305" cy="357.6732" rx="2.58243758861832" ry="2.75000439423023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_236">
|
||||
<path d="M 470.1986 286.21817 L 478.9792 289.51437 L 470.1986 292.81057 Z" fill="#ccc"/>
|
||||
<path d="M 470.1986 286.21817 L 478.9792 289.51437 L 470.1986 292.81057 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_237">
|
||||
<path d="M 470.64405 354.9232 L 479.42464 358.2194 L 470.64405 361.5156 Z" fill="#ccc"/>
|
||||
<path d="M 470.64405 354.9232 L 479.42464 358.2194 L 470.64405 361.5156 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_238">
|
||||
<path d="M 523.83856 240.093 L 523.84334 289.13237 C 523.84334 289.13237 539.1504 281.7623 538.86696 281.47883 C 538.5835 281.19536 538.5787 245.47883 538.5787 245.47883 Z" fill="#417fff"/>
|
||||
<path d="M 523.83856 240.093 L 523.84334 289.13237 C 523.84334 289.13237 539.1504 281.7623 538.86696 281.47883 C 538.5835 281.19536 538.5787 245.47883 538.5787 245.47883 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_68">
|
||||
<text transform="translate(525.46094 242.0072)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="0" y="11">M</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="1.3300781" y="25.509766">U</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="1.3300781" y="40.01953">X</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_240">
|
||||
<path d="M 525.6516 311.8801 L 525.6564 360.9195 C 525.6564 360.9195 540.9635 353.5494 540.68 353.26594 C 540.39654 352.98248 540.39176 317.26594 540.39176 317.26594 Z" fill="#417fff"/>
|
||||
<path d="M 525.6516 311.8801 L 525.6564 360.9195 C 525.6564 360.9195 540.9635 353.5494 540.68 353.26594 C 540.39654 352.98248 540.39176 317.26594 540.39176 317.26594 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_239">
|
||||
<text transform="translate(527.274 313.7943)" fill="white">
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="0" y="11">M</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="1.3300781" y="25.509766">U</tspan>
|
||||
<tspan font-family="Times New Roman" font-size="12" font-weight="700" fill="white" x="1.3300781" y="40.01953">X</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 232 KiB |
After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 350 KiB |
|
@ -0,0 +1,247 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="155.21094 679.5 811.0859 470.74414" width="811.0859" height="470.74414">
|
||||
<defs>
|
||||
<font-face font-family="Times" font-size="16" panose-1="0 0 8 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-66.40625" underline-thickness="67.87109" slope="0" x-height="460.4492" cap-height="675.78125" ascent="750" descent="-250" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="Times-Bold"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<font-face font-family="Times" font-size="16" panose-1="0 0 5 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="0" x-height="453.6133" cap-height="661.6211" ascent="750" descent="-250" font-weight="400">
|
||||
<font-face-src>
|
||||
<font-face-name name="Times-Roman"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="DimensionArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -6 10 12" markerWidth="10" markerHeight="12" color="black">
|
||||
<g>
|
||||
<path d="M 0 0 L 7.200001 0 M 7.200001 4.5000004 L 7.200001 -4.5000004 M 0 1.8000001 L 6.3000005 0 L 0 -1.8000001" fill="none" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="DimensionArrow_Marker_2" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-9 -6 10 12" markerWidth="10" markerHeight="12" color="black">
|
||||
<g>
|
||||
<path d="M 0 0 L -7.200001 0 M -7.200001 -4.5000004 L -7.200001 4.5000004 M 0 -1.8000001 L -6.3000005 0 L 0 1.8000001" fill="none" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<font-face font-family="Times" font-size="16" panose-1="0 0 5 0 0 0 0 9 0 0" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="-937.5" x-height="446.28906" cap-height="652.34375" ascent="750" descent="-250" font-style="italic" font-weight="400">
|
||||
<font-face-src>
|
||||
<font-face-name name="Times-Italic"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
</defs>
|
||||
<metadata> Produced by OmniGraffle 7.18\n2020-11-19 03:30:43 +0000</metadata>
|
||||
<g id="logic_analyzer_mode" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
|
||||
<title>logic_analyzer_mode</title>
|
||||
<g id="logic_analyzer_mode_base">
|
||||
<title>base</title>
|
||||
<g id="Graphic_278">
|
||||
<rect x="394.82812" y="758.5801" width="315.85156" height="289.69336" fill="#ffffc0"/>
|
||||
<rect x="394.82812" y="758.5801" width="315.85156" height="289.69336" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(399.82812 893.9268)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="700" fill="black" x="112.85156" y="15">FPGA Core</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_279">
|
||||
<text transform="translate(432.2461 763.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[0] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_413">
|
||||
<text transform="translate(614.7461 763.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[11] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_414">
|
||||
<text transform="translate(535.7949 763.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_415">
|
||||
<text transform="translate(646.5781 792.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[12] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_416">
|
||||
<text transform="translate(646.5781 884.5234)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[20] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_417">
|
||||
<text transform="translate(676.4258 840.0859)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_421">
|
||||
<text transform="translate(399.82812 891.668)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[136] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_422">
|
||||
<text transform="translate(399.82812 792.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[143] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_423">
|
||||
<text transform="translate(409.6797 840.0859)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_425">
|
||||
<text transform="translate(587.75 1025.4609)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_428">
|
||||
<text transform="translate(409.6797 967.7734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_430">
|
||||
<path d="M 727.6797 849.5859 L 736.6797 835.0859 L 736.6797 842.3359 L 757.5703 842.3359 L 757.5703 835.0859 L 766.5703 849.5859 L 757.5703 864.0859 L 757.5703 856.8359 L 736.6797 856.8359 L 736.6797 864.0859 Z" fill="#c0ffff"/>
|
||||
<path d="M 727.6797 849.5859 L 736.6797 835.0859 L 736.6797 842.3359 L 757.5703 842.3359 L 757.5703 835.0859 L 766.5703 849.5859 L 757.5703 864.0859 L 757.5703 856.8359 L 736.6797 856.8359 L 736.6797 864.0859 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_438">
|
||||
<line x1="718.6797" y1="816.4859" x2="718.6797" y2="882.6859" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_439">
|
||||
<line x1="467.0912" y1="748.5216" x2="638.4166" y2="747.5585" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_440">
|
||||
<path d="M 552.7539 743.5 L 538.2539 734.5 L 545.5039 734.5 L 545.5039 713.6094 L 538.2539 713.6094 L 552.7539 704.6094 L 567.2539 713.6094 L 560.0039 713.6094 L 560.0039 734.5 L 567.2539 734.5 Z" fill="#c0ffff"/>
|
||||
<path d="M 552.7539 743.5 L 538.2539 734.5 L 545.5039 734.5 L 545.5039 713.6094 L 538.2539 713.6094 L 552.7539 704.6094 L 567.2539 713.6094 L 560.0039 713.6094 L 560.0039 734.5 L 567.2539 734.5 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_441">
|
||||
<text transform="translate(483.2422 684.5)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">Caravel GPIO[24:13]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_442">
|
||||
<text transform="translate(577.3047 719.5)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">12 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_444">
|
||||
<text transform="translate(732.4531 869.0859)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">9 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_445">
|
||||
<text transform="translate(779.1172 826.25)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="13.34375" y="15">Caravel</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="34">GPIO[10:2]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_446">
|
||||
<line x1="381.0547" y1="816.4859" x2="381.0547" y2="882.6859" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_447">
|
||||
<path d="M 373.3047 849.5859 L 364.3047 864.0859 L 364.3047 856.8359 L 343.41406 856.8359 L 343.41406 864.0859 L 334.41406 849.5859 L 343.41406 835.0859 L 343.41406 842.3359 L 364.3047 842.3359 L 364.3047 835.0859 Z" fill="#c0ffff"/>
|
||||
<path d="M 373.3047 849.5859 L 364.3047 864.0859 L 364.3047 856.8359 L 343.41406 856.8359 L 343.41406 864.0859 L 334.41406 849.5859 L 343.41406 835.0859 L 343.41406 842.3359 L 364.3047 842.3359 L 364.3047 835.0859 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_448">
|
||||
<text transform="translate(237.22656 826.25)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="17.34375" y="15">Caravel</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="34">GPIO[34:27]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_449">
|
||||
<text transform="translate(345.85938 864.2734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">8 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_450">
|
||||
<line x1="723.799" y1="970.8568" x2="724.1073" y2="983.6901" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_452">
|
||||
<text transform="translate(742.2266 992.2734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">3 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_453">
|
||||
<text transform="translate(779.1172 956.8984)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="14.675781" y="15">Caravel Logic Analyzer</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="34">la_data_in/out/oen[125:127]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_461">
|
||||
<line x1="445.07966" y1="1058.9704" x2="655.4438" y2="1058.5374" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_465">
|
||||
<text transform="translate(646.5781 949.7734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[21] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_466">
|
||||
<text transform="translate(647.0078 987.6836)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[23] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_468">
|
||||
<text transform="translate(399.82812 947.5938)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[135] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_467">
|
||||
<text transform="translate(399.82812 987.6875)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[132] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_470">
|
||||
<text transform="translate(407.5918 1025.5938)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[131] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_469">
|
||||
<text transform="translate(614.4531 1025.5938)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[24] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_475">
|
||||
<text transform="translate(509.9453 1025.4609)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[121] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_476">
|
||||
<text transform="translate(483.2422 1024.2734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_477">
|
||||
<path d="M 732.2031 977.2734 L 741.2031 962.7734 L 741.2031 970.0234 L 762.09375 970.0234 L 762.09375 962.7734 L 771.09375 977.2734 L 762.09375 991.7734 L 762.09375 984.5234 L 741.2031 984.5234 L 741.2031 991.7734 Z" fill="#c0ffff"/>
|
||||
<path d="M 732.2031 977.2734 L 741.2031 962.7734 L 741.2031 970.0234 L 762.09375 970.0234 L 762.09375 962.7734 L 771.09375 977.2734 L 762.09375 991.7734 L 762.09375 984.5234 L 741.2031 984.5234 L 741.2031 991.7734 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_478">
|
||||
<text transform="translate(463.1719 1107.2441)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="10.675781" y="15">Caravel Logic Analyzer</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="34">la_data_in/out/oen[17:124]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_480">
|
||||
<path d="M 560.125 1102.2441 L 545.625 1093.2441 L 552.875 1093.2441 L 552.875 1072.3535 L 545.625 1072.3535 L 560.125 1063.3535 L 574.625 1072.3535 L 567.375 1072.3535 L 567.375 1093.2441 L 574.625 1093.2441 Z" fill="#c0ffff"/>
|
||||
<path d="M 560.125 1102.2441 L 545.625 1093.2441 L 552.875 1093.2441 L 552.875 1072.3535 L 545.625 1072.3535 L 560.125 1063.3535 L 574.625 1072.3535 L 567.375 1072.3535 L 567.375 1093.2441 L 574.625 1093.2441 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_479">
|
||||
<text transform="translate(580.53906 1073.3945)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">108 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_486">
|
||||
<line x1="381.40053" y1="970.8568" x2="381.70884" y2="983.6901" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_485">
|
||||
<text transform="translate(339.41406 930.875)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">4 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_484">
|
||||
<text transform="translate(160.21094 956.8984)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="6.675781" y="15">Caravel Logic Analyzer</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="34">la_data_in/out/oen[13:16]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_483">
|
||||
<path d="M 334.41406 977.2734 L 343.41406 962.7734 L 343.41406 970.0234 L 364.3047 970.0234 L 364.3047 962.7734 L 373.3047 977.2734 L 364.3047 991.7734 L 364.3047 984.5234 L 343.41406 984.5234 L 343.41406 991.7734 Z" fill="#c0ffff"/>
|
||||
<path d="M 334.41406 977.2734 L 343.41406 962.7734 L 343.41406 970.0234 L 364.3047 970.0234 L 364.3047 962.7734 L 373.3047 977.2734 L 364.3047 991.7734 L 364.3047 984.5234 L 343.41406 984.5234 L 343.41406 991.7734 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 399 KiB |
|
@ -0,0 +1,254 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="156.75 679.5 703.8047 543.9336" width="703.8047" height="543.9336">
|
||||
<defs>
|
||||
<font-face font-family="Times" font-size="16" panose-1="0 0 8 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-66.40625" underline-thickness="67.87109" slope="0" x-height="460.4492" cap-height="675.78125" ascent="750" descent="-250" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="Times-Bold"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<font-face font-family="Times" font-size="16" panose-1="0 0 5 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="0" x-height="453.6133" cap-height="661.6211" ascent="750" descent="-250" font-weight="400">
|
||||
<font-face-src>
|
||||
<font-face-name name="Times-Roman"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="DimensionArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -6 10 12" markerWidth="10" markerHeight="12" color="black">
|
||||
<g>
|
||||
<path d="M 0 0 L 7.200001 0 M 7.200001 4.5000004 L 7.200001 -4.5000004 M 0 1.8000001 L 6.3000005 0 L 0 -1.8000001" fill="none" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="DimensionArrow_Marker_2" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-9 -6 10 12" markerWidth="10" markerHeight="12" color="black">
|
||||
<g>
|
||||
<path d="M 0 0 L -7.200001 0 M -7.200001 -4.5000004 L -7.200001 4.5000004 M 0 -1.8000001 L -6.3000005 0 L 0 1.8000001" fill="none" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<font-face font-family="Times" font-size="16" panose-1="0 0 5 0 0 0 0 9 0 0" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="-937.5" x-height="446.28906" cap-height="652.34375" ascent="750" descent="-250" font-style="italic" font-weight="400">
|
||||
<font-face-src>
|
||||
<font-face-name name="Times-Italic"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
</defs>
|
||||
<metadata> Produced by OmniGraffle 7.18\n2020-11-21 01:25:48 +0000</metadata>
|
||||
<g id="wishbone_mode" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
|
||||
<title>wishbone_mode</title>
|
||||
<g id="wishbone_mode_base">
|
||||
<title>base</title>
|
||||
<g id="Graphic_278">
|
||||
<rect x="394.82812" y="758.5801" width="315.85156" height="289.69336" fill="#ffffc0"/>
|
||||
<rect x="394.82812" y="758.5801" width="315.85156" height="289.69336" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(399.82812 893.9268)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="700" fill="black" x="112.85156" y="15">FPGA Core</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_279">
|
||||
<text transform="translate(432.2461 763.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[0] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_413">
|
||||
<text transform="translate(614.7461 763.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[11] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_414">
|
||||
<text transform="translate(535.7949 763.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_415">
|
||||
<text transform="translate(646.5781 792.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[12] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_416">
|
||||
<text transform="translate(646.5781 884.5234)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[20] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_417">
|
||||
<text transform="translate(676.4258 840.0859)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_421">
|
||||
<text transform="translate(399.82812 891.668)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[136] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_422">
|
||||
<text transform="translate(399.82812 792.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[143] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_423">
|
||||
<text transform="translate(409.6797 840.0859)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_425">
|
||||
<text transform="translate(631.8164 1024.2734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_428">
|
||||
<text transform="translate(409.6797 967.7734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_430">
|
||||
<path d="M 727.6797 849.5859 L 736.6797 835.0859 L 736.6797 842.3359 L 757.5703 842.3359 L 757.5703 835.0859 L 766.5703 849.5859 L 757.5703 864.0859 L 757.5703 856.8359 L 736.6797 856.8359 L 736.6797 864.0859 Z" fill="#c0ffff"/>
|
||||
<path d="M 727.6797 849.5859 L 736.6797 835.0859 L 736.6797 842.3359 L 757.5703 842.3359 L 757.5703 835.0859 L 766.5703 849.5859 L 757.5703 864.0859 L 757.5703 856.8359 L 736.6797 856.8359 L 736.6797 864.0859 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_438">
|
||||
<line x1="718.6797" y1="816.4859" x2="718.6797" y2="882.6859" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_439">
|
||||
<line x1="467.0912" y1="748.5216" x2="638.4166" y2="747.5585" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_440">
|
||||
<path d="M 552.7539 743.5 L 538.2539 734.5 L 545.5039 734.5 L 545.5039 713.6094 L 538.2539 713.6094 L 552.7539 704.6094 L 567.2539 713.6094 L 560.0039 713.6094 L 560.0039 734.5 L 567.2539 734.5 Z" fill="#c0ffff"/>
|
||||
<path d="M 552.7539 743.5 L 538.2539 734.5 L 545.5039 734.5 L 545.5039 713.6094 L 538.2539 713.6094 L 552.7539 704.6094 L 567.2539 713.6094 L 560.0039 713.6094 L 560.0039 734.5 L 567.2539 734.5 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_441">
|
||||
<text transform="translate(483.2422 684.5)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">Caravel GPIO[24:13]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_442">
|
||||
<text transform="translate(577.3047 719.5)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">12 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_444">
|
||||
<text transform="translate(732.4531 869.0859)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">9 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_445">
|
||||
<text transform="translate(779.1172 826.25)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="13.34375" y="15">Caravel</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="34">GPIO[10:2]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_446">
|
||||
<line x1="381.0547" y1="816.4859" x2="381.0547" y2="882.6859" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_447">
|
||||
<path d="M 373.3047 849.5859 L 364.3047 864.0859 L 364.3047 856.8359 L 343.41406 856.8359 L 343.41406 864.0859 L 334.41406 849.5859 L 343.41406 835.0859 L 343.41406 842.3359 L 364.3047 842.3359 L 364.3047 835.0859 Z" fill="#c0ffff"/>
|
||||
<path d="M 373.3047 849.5859 L 364.3047 864.0859 L 364.3047 856.8359 L 343.41406 856.8359 L 343.41406 864.0859 L 334.41406 849.5859 L 343.41406 835.0859 L 343.41406 842.3359 L 364.3047 842.3359 L 364.3047 835.0859 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_448">
|
||||
<text transform="translate(237.22656 826.25)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="17.34375" y="15">Caravel</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="34">GPIO[34:27]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_449">
|
||||
<text transform="translate(345.85938 864.2734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">8 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_453">
|
||||
<text transform="translate(161.75 947.5938)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="3.1054688" y="15">Caravel Wishbone clk_i</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="4.878906" y="34">Caravel Wishbone rst_i</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="53">Caravel Wishbone ack_o</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="1.7773438" y="72">Caravel Wishbone cyc_i</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_454">
|
||||
<line x1="381.40053" y1="972.6693" x2="381.70884" y2="985.5026" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_459">
|
||||
<path d="M 329.39062 982.2734 L 329.39062 969.2734 L 355.28125 969.2734 L 355.28125 962.7734 L 368.28125 975.7734 L 355.28125 988.7734 L 355.28125 982.2734 Z" fill="#c0ffff"/>
|
||||
<path d="M 329.39062 982.2734 L 329.39062 969.2734 L 355.28125 969.2734 L 355.28125 962.7734 L 368.28125 975.7734 L 355.28125 988.7734 L 355.28125 982.2734 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_462">
|
||||
<path d="M 470.98047 1073.4336 L 456.48047 1073.4336 L 456.48047 1088.4336 L 449.23047 1088.4336 L 463.73047 1099.4336 L 478.23047 1088.4336 L 470.98047 1088.4336 Z" fill="#c0ffff"/>
|
||||
<path d="M 470.98047 1073.4336 L 456.48047 1073.4336 L 456.48047 1088.4336 L 449.23047 1088.4336 L 463.73047 1099.4336 L 478.23047 1088.4336 L 470.98047 1088.4336 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_464"/>
|
||||
<g id="Graphic_463">
|
||||
<text transform="translate(401.95703 1075.4336)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">32 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_465">
|
||||
<text transform="translate(646.5781 949.7734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[21] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_466">
|
||||
<text transform="translate(647.0078 987.6836)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[23] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_468">
|
||||
<text transform="translate(399.82812 947.5938)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[135] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_467">
|
||||
<text transform="translate(399.82812 987.6875)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[132] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_470">
|
||||
<text transform="translate(396.1709 1025.5938)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[131] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_469">
|
||||
<text transform="translate(646.5781 1025.5938)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[24] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_471">
|
||||
<text transform="translate(396.1709 1104.4336)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="21.765625" y="15">Caravel Wishbone stb_i</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="21.773438" y="34">Caravel Wishbone we_i</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="1.3359375" y="53">Caravel Wishbone adr_i[31:0]</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="1.7773438" y="72">Caravel Wishbone dat_i[31:0]</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="91">Caravel Wishbone dat_o[31:0]</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="6.6640625" y="110">Caravel Wishbone sel_i[3:0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_474">
|
||||
<path d="M 540.7031 1096.4688 L 526.2031 1096.4688 L 526.2031 1081.4688 L 518.9531 1081.4688 L 533.4531 1070.4688 L 547.9531 1081.4688 L 540.7031 1081.4688 Z" fill="#c0ffff"/>
|
||||
<path d="M 540.7031 1096.4688 L 526.2031 1096.4688 L 526.2031 1081.4688 L 518.9531 1081.4688 L 533.4531 1070.4688 L 547.9531 1081.4688 L 540.7031 1081.4688 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_473">
|
||||
<text transform="translate(555.63965 1075.4688)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">70 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_476">
|
||||
<text transform="translate(509.5991 1023.5664)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_478">
|
||||
<text transform="translate(571.9258 1025.5938)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[30] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_479">
|
||||
<line x1="433.6461" y1="1058.5" x2="600.1" y2="1058.5" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_481">
|
||||
<text transform="translate(331.66406 943.25)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">3 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_482">
|
||||
<path d="M 368.28125 1010.625 L 368.28125 997.625 L 342.39062 997.625 L 342.39062 991.125 L 329.39062 1004.125 L 342.39062 1017.125 L 342.39062 1010.625 Z" fill="#c0ffff"/>
|
||||
<path d="M 368.28125 1010.625 L 368.28125 997.625 L 342.39062 997.625 L 342.39062 991.125 L 329.39062 1004.125 L 342.39062 1017.125 L 342.39062 1010.625 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_483">
|
||||
<text transform="translate(334.39062 1022.2266)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">1 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 801 KiB |
|
@ -0,0 +1,351 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="115.79736 679.5 862.4194 701.1582" width="862.4194" height="701.1582">
|
||||
<defs>
|
||||
<font-face font-family="Times" font-size="16" panose-1="0 0 5 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="0" x-height="453.6133" cap-height="661.6211" ascent="750" descent="-250" font-weight="400">
|
||||
<font-face-src>
|
||||
<font-face-name name="Times-Roman"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<font-face font-family="Times" font-size="16" panose-1="0 0 8 0 0 0 0 2 0 0" units-per-em="1000" underline-position="-66.40625" underline-thickness="67.87109" slope="0" x-height="460.4492" cap-height="675.78125" ascent="750" descent="-250" font-weight="700">
|
||||
<font-face-src>
|
||||
<font-face-name name="Times-Bold"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="DimensionArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -6 10 12" markerWidth="10" markerHeight="12" color="black">
|
||||
<g>
|
||||
<path d="M 0 0 L 7.200001 0 M 7.200001 4.5000004 L 7.200001 -4.5000004 M 0 1.8000001 L 6.3000005 0 L 0 -1.8000001" fill="none" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="DimensionArrow_Marker_2" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-9 -6 10 12" markerWidth="10" markerHeight="12" color="black">
|
||||
<g>
|
||||
<path d="M 0 0 L -7.200001 0 M -7.200001 -4.5000004 L -7.200001 4.5000004 M 0 -1.8000001 L -6.3000005 0 L 0 1.8000001" fill="none" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<font-face font-family="Times" font-size="16" panose-1="0 0 5 0 0 0 0 9 0 0" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="-937.5" x-height="446.28906" cap-height="652.34375" ascent="750" descent="-250" font-style="italic" font-weight="400">
|
||||
<font-face-src>
|
||||
<font-face-name name="Times-Italic"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-3 -2 4 4" markerWidth="4" markerHeight="4" color="black">
|
||||
<g>
|
||||
<path d="M -1.8666667 0 L 0 .7 L 0 -.7 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
</defs>
|
||||
<metadata> Produced by OmniGraffle 7.18\n2020-11-21 01:05:14 +0000</metadata>
|
||||
<g id="switch" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none" fill-opacity="1">
|
||||
<title>switch</title>
|
||||
<g id="switch_base">
|
||||
<title>base</title>
|
||||
<g id="Graphic_535">
|
||||
<text transform="translate(120.79736 899.1797)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">CCFF_TAIL -> Caravel GPIO[35]</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="53.71094" y="34">CLK <- Caravel GPIO[36]</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="3.03125" y="53">PROG_CLK <- Caravel GPIO[37]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_501">
|
||||
<path d="M 300.29053 1321.1582 L 308.29053 1313.1582 L 807.8315 1313.1582 L 815.8315 1321.1582 L 815.8315 1372.1582 L 807.8315 1380.1582 L 308.29053 1380.1582 L 300.29053 1372.1582 Z" fill="#c0ffc0"/>
|
||||
<path d="M 300.29053 1321.1582 L 308.29053 1313.1582 L 807.8315 1313.1582 L 815.8315 1321.1582 L 815.8315 1372.1582 L 807.8315 1380.1582 L 308.29053 1380.1582 L 300.29053 1372.1582 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_278">
|
||||
<rect x="394.82812" y="758.5801" width="315.85156" height="289.69336" fill="#ffffc0"/>
|
||||
<rect x="394.82812" y="758.5801" width="315.85156" height="289.69336" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<text transform="translate(399.82812 893.9268)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="700" fill="black" x="112.85156" y="15">FPGA Core</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_279">
|
||||
<text transform="translate(432.2461 763.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[0] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_413">
|
||||
<text transform="translate(614.7461 763.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[11] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_414">
|
||||
<text transform="translate(535.7949 763.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_415">
|
||||
<text transform="translate(646.5781 792.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[12] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_416">
|
||||
<text transform="translate(646.5781 884.5234)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[20] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_417">
|
||||
<text transform="translate(676.4258 840.0859)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_421">
|
||||
<text transform="translate(399.82812 891.668)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[136] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_422">
|
||||
<text transform="translate(399.82812 792.5801)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[143] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_423">
|
||||
<text transform="translate(409.6797 840.0859)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_425">
|
||||
<text transform="translate(587.75 1025.4609)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_428">
|
||||
<text transform="translate(409.6797 967.7734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_430">
|
||||
<path d="M 727.6797 849.5859 L 736.6797 835.0859 L 736.6797 842.3359 L 757.5703 842.3359 L 757.5703 835.0859 L 766.5703 849.5859 L 757.5703 864.0859 L 757.5703 856.8359 L 736.6797 856.8359 L 736.6797 864.0859 Z" fill="#c0ffff"/>
|
||||
<path d="M 727.6797 849.5859 L 736.6797 835.0859 L 736.6797 842.3359 L 757.5703 842.3359 L 757.5703 835.0859 L 766.5703 849.5859 L 757.5703 864.0859 L 757.5703 856.8359 L 736.6797 856.8359 L 736.6797 864.0859 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_438">
|
||||
<line x1="718.6797" y1="816.4859" x2="718.6797" y2="882.6859" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Line_439">
|
||||
<line x1="467.0912" y1="748.5216" x2="638.4166" y2="747.5585" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_440">
|
||||
<path d="M 552.7539 743.5 L 538.2539 734.5 L 545.5039 734.5 L 545.5039 713.6094 L 538.2539 713.6094 L 552.7539 704.6094 L 567.2539 713.6094 L 560.0039 713.6094 L 560.0039 734.5 L 567.2539 734.5 Z" fill="#c0ffff"/>
|
||||
<path d="M 552.7539 743.5 L 538.2539 734.5 L 545.5039 734.5 L 545.5039 713.6094 L 538.2539 713.6094 L 552.7539 704.6094 L 567.2539 713.6094 L 560.0039 713.6094 L 560.0039 734.5 L 567.2539 734.5 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_441">
|
||||
<text transform="translate(483.2422 684.5)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">Caravel GPIO[24:13]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_442">
|
||||
<text transform="translate(577.3047 719.5)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">12 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_444">
|
||||
<text transform="translate(732.6797 869.0859)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">9 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_445">
|
||||
<text transform="translate(779.1172 826.25)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="13.34375" y="15">Caravel</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="34">GPIO[10:2]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_446">
|
||||
<line x1="381.0547" y1="816.4859" x2="381.0547" y2="882.6859" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_447">
|
||||
<path d="M 373.3047 849.5859 L 364.3047 864.0859 L 364.3047 856.8359 L 343.41406 856.8359 L 343.41406 864.0859 L 334.41406 849.5859 L 343.41406 835.0859 L 343.41406 842.3359 L 364.3047 842.3359 L 364.3047 835.0859 Z" fill="#c0ffff"/>
|
||||
<path d="M 373.3047 849.5859 L 364.3047 864.0859 L 364.3047 856.8359 L 343.41406 856.8359 L 343.41406 864.0859 L 334.41406 849.5859 L 343.41406 835.0859 L 343.41406 842.3359 L 364.3047 842.3359 L 364.3047 835.0859 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_448">
|
||||
<text transform="translate(237.22656 826.25)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="17.34375" y="15">Caravel</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="34">GPIO[34:27]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_449">
|
||||
<text transform="translate(345.85938 864.2734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">8 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_450">
|
||||
<line x1="723.799" y1="970.8568" x2="724.1073" y2="983.6901" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_452">
|
||||
<text transform="translate(735.2656 996.7734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">3 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_454">
|
||||
<line x1="381.40053" y1="972.6693" x2="381.70884" y2="985.5026" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_460">
|
||||
<text transform="translate(343.28906 1002.875)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">4 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Line_461">
|
||||
<line x1="445.07966" y1="1058.9704" x2="655.4438" y2="1058.5374" marker-end="url(#DimensionArrow_Marker)" marker-start="url(#DimensionArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</g>
|
||||
<g id="Graphic_465">
|
||||
<text transform="translate(646.5781 949.7734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[21] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_466">
|
||||
<text transform="translate(647.0078 987.6836)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[23] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_468">
|
||||
<text transform="translate(399.82812 947.5938)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[135] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_467">
|
||||
<text transform="translate(399.82812 987.6875)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[132] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_470">
|
||||
<text transform="translate(407.5918 1025.5938)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[131] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_469">
|
||||
<text transform="translate(614.4531 1025.5938)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[24] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_475">
|
||||
<text transform="translate(509.9453 1025.4609)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="2" y="15">gpio[121] </tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_476">
|
||||
<text transform="translate(483.2422 1024.2734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_478">
|
||||
<text transform="translate(650.6758 1233.5293)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="10.675781" y="15">Caravel Logic Analyzer</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="34">la_data_in/out/oen[13:127]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_485">
|
||||
<path d="M 770 969.543 L 784.5 969.543 L 784.5 1121 L 791.75 1121 L 777.25 1134 L 762.75 1121 L 770 1121 Z" fill="#c0ffff"/>
|
||||
<path d="M 770 969.543 L 784.5 969.543 L 784.5 1121 L 791.75 1121 L 777.25 1134 L 762.75 1121 L 770 1121 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_486">
|
||||
<path d="M 551.8164 1063.3535 L 566.1836 1063.3535 L 566.1836 1117.5703 L 573.5 1117.5703 L 559 1132.4551 L 544.5 1117.5703 L 551.8164 1117.5703 Z" fill="#c0ffff"/>
|
||||
<path d="M 551.8164 1063.3535 L 566.1836 1063.3535 L 566.1836 1117.5703 L 573.5 1117.5703 L 559 1132.4551 L 544.5 1117.5703 L 551.8164 1117.5703 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_487">
|
||||
<path d="M 770.34375 984.5234 L 770.34375 970.0234 L 745.2031 970.0234 L 745.2031 962.7734 L 732.2031 977.2734 L 745.2031 991.7734 L 745.2031 984.5234 Z" fill="#c0ffff"/>
|
||||
<path d="M 770.34375 984.5234 L 770.34375 970.0234 L 745.2031 970.0234 L 745.2031 962.7734 L 732.2031 977.2734 L 745.2031 991.7734 L 745.2031 984.5234 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_488">
|
||||
<path d="M 320.0078 975.25 L 334.5078 975.25 L 334.5078 1118.7266 L 341.7578 1118.7266 L 327.2578 1131.7266 L 312.7578 1118.7266 L 320.0078 1118.7266 Z" fill="#c0ffff"/>
|
||||
<path d="M 320.0078 975.25 L 334.5078 975.25 L 334.5078 1118.7266 L 341.7578 1118.7266 L 327.2578 1131.7266 L 312.7578 1118.7266 L 320.0078 1118.7266 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_489">
|
||||
<path d="M 334.41406 989.625 L 334.41406 975.125 L 360.3047 975.125 L 360.3047 967.875 L 373.3047 982.375 L 360.3047 996.875 L 360.3047 989.625 Z" fill="#c0ffff"/>
|
||||
<path d="M 334.41406 989.625 L 334.41406 975.125 L 360.3047 975.125 L 360.3047 967.875 L 373.3047 982.375 L 360.3047 996.875 L 360.3047 989.625 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_490">
|
||||
<path d="M 264.71875 1157.2559 L 840.7891 1157.2559 L 811.125 1136.8125 L 289.67095 1136.3008 Z" fill="#c0ffc0"/>
|
||||
<path d="M 264.71875 1157.2559 L 840.7891 1157.2559 L 811.125 1136.8125 L 289.67095 1136.3008 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Line_491">
|
||||
<line x1="268.1552" y1="1145.6802" x2="251.1172" y2="1145.6144" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/>
|
||||
</g>
|
||||
<g id="Graphic_492">
|
||||
<text transform="translate(182.125 1126.4717)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="7.121094" y="15">Caravel</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="34">GPIO[25]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_493">
|
||||
<path d="M 731.5156 1157.2559 L 746.0156 1175.418 L 738.3477 1175.418 L 738.3477 1213.086 L 746.0156 1213.086 L 731.5156 1231.248 L 717.0156 1213.086 L 724.6836 1213.086 L 724.6836 1175.418 L 717.0156 1175.418 Z" fill="#ffc0c0"/>
|
||||
<path d="M 731.5156 1157.2559 L 746.0156 1175.418 L 738.3477 1175.418 L 738.3477 1213.086 L 746.0156 1213.086 L 731.5156 1231.248 L 717.0156 1213.086 L 724.6836 1213.086 L 724.6836 1175.418 L 717.0156 1175.418 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_498"/>
|
||||
<g id="Graphic_497"/>
|
||||
<g id="Graphic_496"/>
|
||||
<g id="Graphic_495">
|
||||
<text transform="translate(231.3086 1205.0293)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="1.328125" y="15">Caravel Wishbone clk_i</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="3.1015625" y="34">Caravel Wishbone rst_i</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="1.765625" y="53">Caravel Wishbone stb_i</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="72">Caravel Wishbone cyc_i</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="1.7734375" y="91">Caravel Wishbone we_i</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_499">
|
||||
<path d="M 399.19727 1161.1016 L 413.69727 1179.2637 L 406.0293 1179.2637 L 406.0293 1202.7285 L 413.69727 1202.7285 L 399.19727 1220.8906 L 384.69727 1202.7285 L 392.36523 1202.7285 L 392.36523 1179.2637 L 384.69727 1179.2637 Z" fill="#ffc0c0"/>
|
||||
<path d="M 399.19727 1161.1016 L 413.69727 1179.2637 L 406.0293 1179.2637 L 406.0293 1202.7285 L 413.69727 1202.7285 L 399.19727 1220.8906 L 384.69727 1202.7285 L 392.36523 1202.7285 L 392.36523 1179.2637 L 384.69727 1179.2637 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_500">
|
||||
<text transform="translate(307.16846 1318.4707)" fill="#ff2600">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="#ff2600" x="0" y="15">Mode switch truth table:</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="#ff2600" x="0" y="34">- When Caravel GPIO[25] is logic ‘1’, FPGA is interfacing the Wishbone bus</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="#ff2600" x="0" y="53">- When Caravel GPIO[25] is logic ‘0’, FPGA is interfacing the logic analyzer</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_528">
|
||||
<path d="M 747.7241 747.7502 L 737.471 737.4971 L 719.6939 755.2742 L 714.5674 750.1477 L 715.62805 769.5931 L 735.0735 770.6538 L 729.947 765.5273 Z" fill="#c0c0ff"/>
|
||||
<path d="M 747.7241 747.7502 L 737.471 737.4971 L 719.6939 755.2742 L 714.5674 750.1477 L 715.62805 769.5931 L 735.0735 770.6538 L 729.947 765.5273 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_529">
|
||||
<text transform="translate(714.8867 700.6367)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">CCFF_HEAD <- Caravel GPIO[12]</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="30.023438" y="34">SC_TAIL -> Caravel GPIO[11]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_530"/>
|
||||
<g id="Graphic_531">
|
||||
<text transform="translate(134.50049 729.5)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">SC_HEAD <- Caravel GPIO[26]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_533">
|
||||
<path d="M 362.68914 745.231 L 352.4361 755.4841 L 370.2132 773.2612 L 365.08667 778.3877 L 384.5321 777.327 L 385.59277 757.8816 L 380.46624 763.0081 Z" fill="#c0c0ff"/>
|
||||
<path d="M 362.68914 745.231 L 352.4361 755.4841 L 370.2132 773.2612 L 365.08667 778.3877 L 384.5321 777.327 L 385.59277 757.8816 L 380.46624 763.0081 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_536">
|
||||
<path d="M 351.60205 934.9297 L 351.60205 920.4297 L 377.49267 920.4297 L 377.49267 913.1797 L 390.49267 927.6797 L 377.49267 942.1797 L 377.49267 934.9297 Z" fill="#c0c0ff"/>
|
||||
<path d="M 351.60205 934.9297 L 351.60205 920.4297 L 377.49267 920.4297 L 377.49267 913.1797 L 390.49267 927.6797 L 377.49267 942.1797 L 377.49267 934.9297 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_537">
|
||||
<path d="M 752.8506 932.0234 L 752.8506 917.5234 L 726.96 917.5234 L 726.96 910.2734 L 713.96 924.7734 L 726.96 939.2734 L 726.96 932.0234 Z" fill="#c0c0ff"/>
|
||||
<path d="M 752.8506 932.0234 L 752.8506 917.5234 L 726.96 917.5234 L 726.96 910.2734 L 713.96 924.7734 L 726.96 939.2734 L 726.96 932.0234 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_538">
|
||||
<text transform="translate(761.1309 905.7734)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="15">IO_ISOL_N -> Caravel GPIO[1]</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="12.445312" y="34">TEST_EN <- Caravel GPIO[0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_539">
|
||||
<text transform="translate(422.03906 1169.5566)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">106 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_540">
|
||||
<text transform="translate(671.4629 1181.4697)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-style="italic" font-weight="400" fill="black" x="0" y="15">115 bit</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g id="Graphic_541">
|
||||
<path d="M 532.4336 1132.9941 L 518.0664 1132.9941 L 518.0664 1078.7773 L 510.75 1078.7773 L 525.25 1063.8926 L 539.75 1078.7773 L 532.4336 1078.7773 Z" fill="#c0ffff"/>
|
||||
<path d="M 532.4336 1132.9941 L 518.0664 1132.9941 L 518.0664 1078.7773 L 510.75 1078.7773 L 525.25 1063.8926 L 539.75 1078.7773 L 532.4336 1078.7773 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Graphic_542">
|
||||
<text transform="translate(409.6797 1205.0293)" fill="black">
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="6.6640625" y="15">Caravel Wishbone sel_i[3:0]</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="1.7773438" y="34">Caravel Wishbone dat_i[31:0]</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="1.3359375" y="53">Caravel Wishbone adr_i[31:0]</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="18.222656" y="72">Caravel Wishbone ack_o</tspan>
|
||||
<tspan font-family="Times" font-size="16" font-weight="400" fill="black" x="0" y="91">Caravel Wishbone dat_o[31:0]</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 25 KiB |
|
@ -14,7 +14,7 @@ I/O tiles are placed at the boundary of the FPGA to interface with GPIOs and RIS
|
|||
|
||||
.. _fig_fpga_arch:
|
||||
|
||||
.. figure:: ./figures/fpga_arch.png
|
||||
.. figure:: ./figures/fpga_arch.svg
|
||||
:scale: 25%
|
||||
:alt: Tile-based FPGA architecture
|
||||
|
||||
|
@ -72,7 +72,7 @@ When `Test_en` signal is active, users can
|
|||
|
||||
.. _fig_fabric_scan_chain:
|
||||
|
||||
.. figure:: ./figures/fabric_scan_chain.png
|
||||
.. figure:: ./figures/fabric_scan_chain.svg
|
||||
:scale: 25%
|
||||
:alt: Built-in scan-chain across FPGA
|
||||
|
||||
|
|
|
@ -20,9 +20,11 @@ Among the 144 I/Os,
|
|||
|
||||
.. note:: The connectivity of the 115 internal I/Os can be switched through a GPIO of Caravel SoC. As a result, the FPGA can operate in different modes.
|
||||
|
||||
.. warning:: The internal I/O pins will drive either Wishbone or the logic analyzer, following the same truth table as mode-switch bit in :numref:`fig_fpga_io_switch`.
|
||||
|
||||
.. _fig_fpga_io_switch:
|
||||
|
||||
.. figure:: ./figures/fpga_io_switch.png
|
||||
.. figure:: ./figures/fpga_io_switch.svg
|
||||
:scale: 20%
|
||||
:alt: I/O arrangement of FPGA IP
|
||||
|
||||
|
@ -37,13 +39,13 @@ Accelerator Mode
|
|||
When the Wishbone interface is enabled, the FPGA can operate as an accelerator for the RISC-V processor.
|
||||
:numref:`fig_fpga_io_map_wishbone_mode` illustrates the detailed I/O arrangement for the FPGA, where the wishbone bus signals are connected to fixed FPGA I/O locations.
|
||||
|
||||
.. note:: Not all the 115 internal I/Os are used by the Wishbone interface. Especially, the I/O[21:30] are not connected.
|
||||
.. note:: Not all the 115 internal I/Os are used by the Wishbone interface. Especially, the I/O[21:29] are not connected.
|
||||
|
||||
.. warning:: The FPGA does not contain a Wishbone slave IP. Users have to implement a soft Wishbone slave when use the FPGA as an accelerator.
|
||||
|
||||
.. _fig_fpga_io_map_wishbone_mode:
|
||||
|
||||
.. figure:: ./figures/fpga_io_map_wishbone_mode.png
|
||||
.. figure:: ./figures/fpga_io_map_wishbone_mode.svg
|
||||
:scale: 20%
|
||||
:alt: I/O arrangement of FPGA IP when interfacing wishbone bus
|
||||
|
||||
|
@ -66,7 +68,7 @@ When the logic analyzer interface is enabled, the FPGA can operate in debug mode
|
|||
|
||||
.. _fig_fpga_io_map_logic_analyzer_mode:
|
||||
|
||||
.. figure:: ./figures/fpga_io_map_logic_analyzer_mode.png
|
||||
.. figure:: ./figures/fpga_io_map_logic_analyzer_mode.svg
|
||||
:scale: 20%
|
||||
:alt: I/O arrangement of FPGA IP when interfacing logic analyzer
|
||||
|
||||
|
@ -98,7 +100,7 @@ The truth table of the I/O cell is consistent with the GPIO cell of Caravel SoC,
|
|||
|
||||
.. _fig_embedded_io_schematic:
|
||||
|
||||
.. figure:: ./figures/embedded_io_schematic.png
|
||||
.. figure:: ./figures/embedded_io_schematic.svg
|
||||
:scale: 30%
|
||||
:alt: Schematic of embedded I/O cell used in FPGA
|
||||
|
||||
|
|
|
@ -68,6 +68,12 @@ module fpga_top (
|
|||
|
||||
// Switch between wishbone and logic analyzer
|
||||
wire wb_la_switch;
|
||||
wire wb_la_switch_b;
|
||||
|
||||
// Inverted switch signal to drive tri-state buffers
|
||||
// Use drive strength 8 as we will have 33 output pins which is driven by
|
||||
// the buffers
|
||||
sky130_fd_sc_hd__inv_8 WB_LA_SWITCH_INV (.A(la_wb_switch), .Y(la_wb_switch_b));
|
||||
|
||||
// Wire-bond TOP side I/O of FPGA to LEFT-side of Caravel interface
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[0] = io_in[24];
|
||||
|
@ -106,218 +112,251 @@ module fpga_top (
|
|||
|
||||
// Wire-bond RIGHT, BOTTOM, LEFT side I/O of FPGA to BOTTOM-side of Caravel interface
|
||||
// Autogenerate code start
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_135_MUX (.S(la_wb_switch), .A1(wb_rst_i), .A0(la_data_in[13]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[135]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_135_MUX (.S(wb_la_switch), .A1(wb_clk_i), .A0(la_data_in[13]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[135]));
|
||||
assign la_data_out[13] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[135];
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[134] = la_data_in[14];
|
||||
assign wbs_ack_o = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[134];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_133_MUX (.S(la_wb_switch), .A1(wbs_cyc_i), .A0(la_data_in[15]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[133]));
|
||||
assign la_data_out[15] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[133];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_132_MUX (.S(la_wb_switch), .A1(wbs_stb_i), .A0(la_data_in[16]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[132]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_134_MUX (.S(wb_la_switch), .A1(wb_rst_i), .A0(la_data_in[14]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[134]));
|
||||
assign la_data_out[14] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[134];
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[133] = la_data_in[15];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_133_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[133]), .Z(wbs_ack_o));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_133_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[133]), .Z(la_data_out[15]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_132_MUX (.S(wb_la_switch), .A1(wbs_cyc_i), .A0(la_data_in[16]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[132]));
|
||||
assign la_data_out[16] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[132];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_131_MUX (.S(la_wb_switch), .A1(wbs_we_i), .A0(la_data_in[17]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[131]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_131_MUX (.S(wb_la_switch), .A1(wbs_stb_i), .A0(la_data_in[17]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[131]));
|
||||
assign la_data_out[17] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[131];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_130_MUX (.S(la_wb_switch), .A1(wbs_sel_i[0]), .A0(la_data_in[18]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[130]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_130_MUX (.S(wb_la_switch), .A1(wbs_we_i), .A0(la_data_in[18]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[130]));
|
||||
assign la_data_out[18] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[130];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_129_MUX (.S(la_wb_switch), .A1(wbs_sel_i[1]), .A0(la_data_in[19]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[129]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_129_MUX (.S(wb_la_switch), .A1(wbs_sel_i[0]), .A0(la_data_in[19]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[129]));
|
||||
assign la_data_out[19] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[129];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_128_MUX (.S(la_wb_switch), .A1(wbs_sel_i[2]), .A0(la_data_in[20]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[128]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_128_MUX (.S(wb_la_switch), .A1(wbs_sel_i[1]), .A0(la_data_in[20]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[128]));
|
||||
assign la_data_out[20] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[128];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_127_MUX (.S(la_wb_switch), .A1(wbs_sel_i[3]), .A0(la_data_in[21]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[127]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_127_MUX (.S(wb_la_switch), .A1(wbs_sel_i[2]), .A0(la_data_in[21]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[127]));
|
||||
assign la_data_out[21] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[127];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_126_MUX (.S(la_wb_switch), .A1(wbs_adr_i[0]), .A0(la_data_in[22]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[126]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_126_MUX (.S(wb_la_switch), .A1(wbs_sel_i[3]), .A0(la_data_in[22]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[126]));
|
||||
assign la_data_out[22] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[126];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_125_MUX (.S(la_wb_switch), .A1(wbs_adr_i[1]), .A0(la_data_in[23]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[125]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_125_MUX (.S(wb_la_switch), .A1(wbs_adr_i[0]), .A0(la_data_in[23]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[125]));
|
||||
assign la_data_out[23] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[125];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_124_MUX (.S(la_wb_switch), .A1(wbs_adr_i[2]), .A0(la_data_in[24]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[124]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_124_MUX (.S(wb_la_switch), .A1(wbs_adr_i[1]), .A0(la_data_in[24]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[124]));
|
||||
assign la_data_out[24] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[124];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_123_MUX (.S(la_wb_switch), .A1(wbs_adr_i[3]), .A0(la_data_in[25]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[123]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_123_MUX (.S(wb_la_switch), .A1(wbs_adr_i[2]), .A0(la_data_in[25]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[123]));
|
||||
assign la_data_out[25] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[123];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_122_MUX (.S(la_wb_switch), .A1(wbs_adr_i[4]), .A0(la_data_in[26]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[122]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_122_MUX (.S(wb_la_switch), .A1(wbs_adr_i[3]), .A0(la_data_in[26]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[122]));
|
||||
assign la_data_out[26] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[122];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_121_MUX (.S(la_wb_switch), .A1(wbs_adr_i[5]), .A0(la_data_in[27]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[121]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_121_MUX (.S(wb_la_switch), .A1(wbs_adr_i[4]), .A0(la_data_in[27]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[121]));
|
||||
assign la_data_out[27] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[121];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_120_MUX (.S(la_wb_switch), .A1(wbs_adr_i[6]), .A0(la_data_in[28]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[120]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_120_MUX (.S(wb_la_switch), .A1(wbs_adr_i[5]), .A0(la_data_in[28]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[120]));
|
||||
assign la_data_out[28] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[120];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_119_MUX (.S(la_wb_switch), .A1(wbs_adr_i[7]), .A0(la_data_in[29]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[119]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_119_MUX (.S(wb_la_switch), .A1(wbs_adr_i[6]), .A0(la_data_in[29]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[119]));
|
||||
assign la_data_out[29] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[119];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_118_MUX (.S(la_wb_switch), .A1(wbs_adr_i[8]), .A0(la_data_in[30]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[118]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_118_MUX (.S(wb_la_switch), .A1(wbs_adr_i[7]), .A0(la_data_in[30]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[118]));
|
||||
assign la_data_out[30] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[118];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_117_MUX (.S(la_wb_switch), .A1(wbs_adr_i[9]), .A0(la_data_in[31]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[117]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_117_MUX (.S(wb_la_switch), .A1(wbs_adr_i[8]), .A0(la_data_in[31]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[117]));
|
||||
assign la_data_out[31] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[117];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_116_MUX (.S(la_wb_switch), .A1(wbs_adr_i[10]), .A0(la_data_in[32]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[116]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_116_MUX (.S(wb_la_switch), .A1(wbs_adr_i[9]), .A0(la_data_in[32]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[116]));
|
||||
assign la_data_out[32] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[116];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_115_MUX (.S(la_wb_switch), .A1(wbs_adr_i[11]), .A0(la_data_in[33]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[115]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_115_MUX (.S(wb_la_switch), .A1(wbs_adr_i[10]), .A0(la_data_in[33]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[115]));
|
||||
assign la_data_out[33] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[115];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_114_MUX (.S(la_wb_switch), .A1(wbs_adr_i[12]), .A0(la_data_in[34]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[114]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_114_MUX (.S(wb_la_switch), .A1(wbs_adr_i[11]), .A0(la_data_in[34]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[114]));
|
||||
assign la_data_out[34] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[114];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_113_MUX (.S(la_wb_switch), .A1(wbs_adr_i[13]), .A0(la_data_in[35]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[113]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_113_MUX (.S(wb_la_switch), .A1(wbs_adr_i[12]), .A0(la_data_in[35]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[113]));
|
||||
assign la_data_out[35] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[113];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_112_MUX (.S(la_wb_switch), .A1(wbs_adr_i[14]), .A0(la_data_in[36]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[112]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_112_MUX (.S(wb_la_switch), .A1(wbs_adr_i[13]), .A0(la_data_in[36]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[112]));
|
||||
assign la_data_out[36] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[112];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_111_MUX (.S(la_wb_switch), .A1(wbs_adr_i[15]), .A0(la_data_in[37]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[111]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_111_MUX (.S(wb_la_switch), .A1(wbs_adr_i[14]), .A0(la_data_in[37]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[111]));
|
||||
assign la_data_out[37] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[111];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_110_MUX (.S(la_wb_switch), .A1(wbs_adr_i[16]), .A0(la_data_in[38]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[110]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_110_MUX (.S(wb_la_switch), .A1(wbs_adr_i[15]), .A0(la_data_in[38]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[110]));
|
||||
assign la_data_out[38] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[110];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_109_MUX (.S(la_wb_switch), .A1(wbs_adr_i[17]), .A0(la_data_in[39]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[109]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_109_MUX (.S(wb_la_switch), .A1(wbs_adr_i[16]), .A0(la_data_in[39]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[109]));
|
||||
assign la_data_out[39] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[109];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_108_MUX (.S(la_wb_switch), .A1(wbs_adr_i[18]), .A0(la_data_in[40]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[108]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_108_MUX (.S(wb_la_switch), .A1(wbs_adr_i[17]), .A0(la_data_in[40]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[108]));
|
||||
assign la_data_out[40] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[108];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_107_MUX (.S(la_wb_switch), .A1(wbs_adr_i[19]), .A0(la_data_in[41]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[107]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_107_MUX (.S(wb_la_switch), .A1(wbs_adr_i[18]), .A0(la_data_in[41]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[107]));
|
||||
assign la_data_out[41] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[107];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_106_MUX (.S(la_wb_switch), .A1(wbs_adr_i[20]), .A0(la_data_in[42]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[106]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_106_MUX (.S(wb_la_switch), .A1(wbs_adr_i[19]), .A0(la_data_in[42]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[106]));
|
||||
assign la_data_out[42] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[106];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_105_MUX (.S(la_wb_switch), .A1(wbs_adr_i[21]), .A0(la_data_in[43]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[105]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_105_MUX (.S(wb_la_switch), .A1(wbs_adr_i[20]), .A0(la_data_in[43]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[105]));
|
||||
assign la_data_out[43] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[105];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_104_MUX (.S(la_wb_switch), .A1(wbs_adr_i[22]), .A0(la_data_in[44]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[104]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_104_MUX (.S(wb_la_switch), .A1(wbs_adr_i[21]), .A0(la_data_in[44]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[104]));
|
||||
assign la_data_out[44] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[104];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_103_MUX (.S(la_wb_switch), .A1(wbs_adr_i[23]), .A0(la_data_in[45]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[103]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_103_MUX (.S(wb_la_switch), .A1(wbs_adr_i[22]), .A0(la_data_in[45]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[103]));
|
||||
assign la_data_out[45] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[103];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_102_MUX (.S(la_wb_switch), .A1(wbs_adr_i[24]), .A0(la_data_in[46]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[102]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_102_MUX (.S(wb_la_switch), .A1(wbs_adr_i[23]), .A0(la_data_in[46]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[102]));
|
||||
assign la_data_out[46] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[102];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_101_MUX (.S(la_wb_switch), .A1(wbs_adr_i[25]), .A0(la_data_in[47]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[101]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_101_MUX (.S(wb_la_switch), .A1(wbs_adr_i[24]), .A0(la_data_in[47]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[101]));
|
||||
assign la_data_out[47] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[101];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_100_MUX (.S(la_wb_switch), .A1(wbs_adr_i[26]), .A0(la_data_in[48]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[100]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_100_MUX (.S(wb_la_switch), .A1(wbs_adr_i[25]), .A0(la_data_in[48]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[100]));
|
||||
assign la_data_out[48] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[100];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_99_MUX (.S(la_wb_switch), .A1(wbs_adr_i[27]), .A0(la_data_in[49]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[99]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_99_MUX (.S(wb_la_switch), .A1(wbs_adr_i[26]), .A0(la_data_in[49]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[99]));
|
||||
assign la_data_out[49] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[99];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_98_MUX (.S(la_wb_switch), .A1(wbs_adr_i[28]), .A0(la_data_in[50]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[98]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_98_MUX (.S(wb_la_switch), .A1(wbs_adr_i[27]), .A0(la_data_in[50]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[98]));
|
||||
assign la_data_out[50] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[98];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_97_MUX (.S(la_wb_switch), .A1(wbs_adr_i[29]), .A0(la_data_in[51]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[97]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_97_MUX (.S(wb_la_switch), .A1(wbs_adr_i[28]), .A0(la_data_in[51]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[97]));
|
||||
assign la_data_out[51] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[97];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_96_MUX (.S(la_wb_switch), .A1(wbs_adr_i[30]), .A0(la_data_in[52]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[96]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_96_MUX (.S(wb_la_switch), .A1(wbs_adr_i[29]), .A0(la_data_in[52]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[96]));
|
||||
assign la_data_out[52] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[96];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_95_MUX (.S(la_wb_switch), .A1(wbs_adr_i[31]), .A0(la_data_in[53]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[95]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_95_MUX (.S(wb_la_switch), .A1(wbs_adr_i[30]), .A0(la_data_in[53]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[95]));
|
||||
assign la_data_out[53] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[95];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_94_MUX (.S(la_wb_switch), .A1(wbs_dat_i[0]), .A0(la_data_in[54]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[94]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_94_MUX (.S(wb_la_switch), .A1(wbs_adr_i[31]), .A0(la_data_in[54]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[94]));
|
||||
assign la_data_out[54] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[94];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_93_MUX (.S(la_wb_switch), .A1(wbs_dat_i[1]), .A0(la_data_in[55]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[93]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_93_MUX (.S(wb_la_switch), .A1(wbs_dat_i[0]), .A0(la_data_in[55]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[93]));
|
||||
assign la_data_out[55] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[93];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_92_MUX (.S(la_wb_switch), .A1(wbs_dat_i[2]), .A0(la_data_in[56]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[92]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_92_MUX (.S(wb_la_switch), .A1(wbs_dat_i[1]), .A0(la_data_in[56]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[92]));
|
||||
assign la_data_out[56] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[92];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_91_MUX (.S(la_wb_switch), .A1(wbs_dat_i[3]), .A0(la_data_in[57]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[91]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_91_MUX (.S(wb_la_switch), .A1(wbs_dat_i[2]), .A0(la_data_in[57]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[91]));
|
||||
assign la_data_out[57] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[91];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_90_MUX (.S(la_wb_switch), .A1(wbs_dat_i[4]), .A0(la_data_in[58]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[90]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_90_MUX (.S(wb_la_switch), .A1(wbs_dat_i[3]), .A0(la_data_in[58]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[90]));
|
||||
assign la_data_out[58] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[90];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_89_MUX (.S(la_wb_switch), .A1(wbs_dat_i[5]), .A0(la_data_in[59]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[89]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_89_MUX (.S(wb_la_switch), .A1(wbs_dat_i[4]), .A0(la_data_in[59]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[89]));
|
||||
assign la_data_out[59] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[89];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_88_MUX (.S(la_wb_switch), .A1(wbs_dat_i[6]), .A0(la_data_in[60]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[88]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_88_MUX (.S(wb_la_switch), .A1(wbs_dat_i[5]), .A0(la_data_in[60]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[88]));
|
||||
assign la_data_out[60] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[88];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_87_MUX (.S(la_wb_switch), .A1(wbs_dat_i[7]), .A0(la_data_in[61]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[87]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_87_MUX (.S(wb_la_switch), .A1(wbs_dat_i[6]), .A0(la_data_in[61]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[87]));
|
||||
assign la_data_out[61] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[87];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_86_MUX (.S(la_wb_switch), .A1(wbs_dat_i[8]), .A0(la_data_in[62]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[86]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_86_MUX (.S(wb_la_switch), .A1(wbs_dat_i[7]), .A0(la_data_in[62]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[86]));
|
||||
assign la_data_out[62] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[86];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_85_MUX (.S(la_wb_switch), .A1(wbs_dat_i[9]), .A0(la_data_in[63]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[85]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_85_MUX (.S(wb_la_switch), .A1(wbs_dat_i[8]), .A0(la_data_in[63]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[85]));
|
||||
assign la_data_out[63] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[85];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_84_MUX (.S(la_wb_switch), .A1(wbs_dat_i[10]), .A0(la_data_in[64]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[84]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_84_MUX (.S(wb_la_switch), .A1(wbs_dat_i[9]), .A0(la_data_in[64]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[84]));
|
||||
assign la_data_out[64] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[84];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_83_MUX (.S(la_wb_switch), .A1(wbs_dat_i[11]), .A0(la_data_in[65]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[83]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_83_MUX (.S(wb_la_switch), .A1(wbs_dat_i[10]), .A0(la_data_in[65]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[83]));
|
||||
assign la_data_out[65] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[83];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_82_MUX (.S(la_wb_switch), .A1(wbs_dat_i[12]), .A0(la_data_in[66]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[82]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_82_MUX (.S(wb_la_switch), .A1(wbs_dat_i[11]), .A0(la_data_in[66]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[82]));
|
||||
assign la_data_out[66] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[82];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_81_MUX (.S(la_wb_switch), .A1(wbs_dat_i[13]), .A0(la_data_in[67]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[81]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_81_MUX (.S(wb_la_switch), .A1(wbs_dat_i[12]), .A0(la_data_in[67]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[81]));
|
||||
assign la_data_out[67] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[81];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_80_MUX (.S(la_wb_switch), .A1(wbs_dat_i[14]), .A0(la_data_in[68]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[80]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_80_MUX (.S(wb_la_switch), .A1(wbs_dat_i[13]), .A0(la_data_in[68]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[80]));
|
||||
assign la_data_out[68] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[80];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_79_MUX (.S(la_wb_switch), .A1(wbs_dat_i[15]), .A0(la_data_in[69]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[79]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_79_MUX (.S(wb_la_switch), .A1(wbs_dat_i[14]), .A0(la_data_in[69]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[79]));
|
||||
assign la_data_out[69] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[79];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_78_MUX (.S(la_wb_switch), .A1(wbs_dat_i[16]), .A0(la_data_in[70]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[78]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_78_MUX (.S(wb_la_switch), .A1(wbs_dat_i[15]), .A0(la_data_in[70]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[78]));
|
||||
assign la_data_out[70] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[78];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_77_MUX (.S(la_wb_switch), .A1(wbs_dat_i[17]), .A0(la_data_in[71]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[77]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_77_MUX (.S(wb_la_switch), .A1(wbs_dat_i[16]), .A0(la_data_in[71]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[77]));
|
||||
assign la_data_out[71] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[77];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_76_MUX (.S(la_wb_switch), .A1(wbs_dat_i[18]), .A0(la_data_in[72]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[76]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_76_MUX (.S(wb_la_switch), .A1(wbs_dat_i[17]), .A0(la_data_in[72]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[76]));
|
||||
assign la_data_out[72] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[76];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_75_MUX (.S(la_wb_switch), .A1(wbs_dat_i[19]), .A0(la_data_in[73]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[75]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_75_MUX (.S(wb_la_switch), .A1(wbs_dat_i[18]), .A0(la_data_in[73]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[75]));
|
||||
assign la_data_out[73] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[75];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_74_MUX (.S(la_wb_switch), .A1(wbs_dat_i[20]), .A0(la_data_in[74]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[74]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_74_MUX (.S(wb_la_switch), .A1(wbs_dat_i[19]), .A0(la_data_in[74]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[74]));
|
||||
assign la_data_out[74] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[74];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_73_MUX (.S(la_wb_switch), .A1(wbs_dat_i[21]), .A0(la_data_in[75]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[73]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_73_MUX (.S(wb_la_switch), .A1(wbs_dat_i[20]), .A0(la_data_in[75]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[73]));
|
||||
assign la_data_out[75] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[73];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_72_MUX (.S(la_wb_switch), .A1(wbs_dat_i[22]), .A0(la_data_in[76]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[72]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_72_MUX (.S(wb_la_switch), .A1(wbs_dat_i[21]), .A0(la_data_in[76]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[72]));
|
||||
assign la_data_out[76] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[72];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_71_MUX (.S(la_wb_switch), .A1(wbs_dat_i[23]), .A0(la_data_in[77]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[71]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_71_MUX (.S(wb_la_switch), .A1(wbs_dat_i[22]), .A0(la_data_in[77]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[71]));
|
||||
assign la_data_out[77] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[71];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_70_MUX (.S(la_wb_switch), .A1(wbs_dat_i[24]), .A0(la_data_in[78]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[70]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_70_MUX (.S(wb_la_switch), .A1(wbs_dat_i[23]), .A0(la_data_in[78]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[70]));
|
||||
assign la_data_out[78] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[70];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_69_MUX (.S(la_wb_switch), .A1(wbs_dat_i[25]), .A0(la_data_in[79]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[69]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_69_MUX (.S(wb_la_switch), .A1(wbs_dat_i[24]), .A0(la_data_in[79]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[69]));
|
||||
assign la_data_out[79] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[69];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_68_MUX (.S(la_wb_switch), .A1(wbs_dat_i[26]), .A0(la_data_in[80]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[68]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_68_MUX (.S(wb_la_switch), .A1(wbs_dat_i[25]), .A0(la_data_in[80]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[68]));
|
||||
assign la_data_out[80] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[68];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_67_MUX (.S(la_wb_switch), .A1(wbs_dat_i[27]), .A0(la_data_in[81]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[67]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_67_MUX (.S(wb_la_switch), .A1(wbs_dat_i[26]), .A0(la_data_in[81]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[67]));
|
||||
assign la_data_out[81] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[67];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_66_MUX (.S(la_wb_switch), .A1(wbs_dat_i[28]), .A0(la_data_in[82]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[66]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_66_MUX (.S(wb_la_switch), .A1(wbs_dat_i[27]), .A0(la_data_in[82]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[66]));
|
||||
assign la_data_out[82] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[66];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_65_MUX (.S(la_wb_switch), .A1(wbs_dat_i[29]), .A0(la_data_in[83]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[65]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_65_MUX (.S(wb_la_switch), .A1(wbs_dat_i[28]), .A0(la_data_in[83]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[65]));
|
||||
assign la_data_out[83] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[65];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_64_MUX (.S(la_wb_switch), .A1(wbs_dat_i[30]), .A0(la_data_in[84]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[64]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_64_MUX (.S(wb_la_switch), .A1(wbs_dat_i[29]), .A0(la_data_in[84]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[64]));
|
||||
assign la_data_out[84] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[64];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_63_MUX (.S(la_wb_switch), .A1(wbs_dat_i[31]), .A0(la_data_in[85]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[63]));
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_63_MUX (.S(wb_la_switch), .A1(wbs_dat_i[30]), .A0(la_data_in[85]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[63]));
|
||||
assign la_data_out[85] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[63];
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[62] = la_data_in[86];
|
||||
assign wbs_dat_o[0] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[62];
|
||||
sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_62_MUX (.S(wb_la_switch), .A1(wbs_dat_i[31]), .A0(la_data_in[86]), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[62]));
|
||||
assign la_data_out[86] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[62];
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[61] = la_data_in[87];
|
||||
assign wbs_dat_o[1] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[61];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_61_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[61]), .Z(wbs_dat_o[0]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_61_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[61]), .Z(la_data_out[87]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[60] = la_data_in[88];
|
||||
assign wbs_dat_o[2] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[60];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_60_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[60]), .Z(wbs_dat_o[1]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_60_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[60]), .Z(la_data_out[88]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[59] = la_data_in[89];
|
||||
assign wbs_dat_o[3] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[59];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_59_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[59]), .Z(wbs_dat_o[2]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_59_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[59]), .Z(la_data_out[89]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[58] = la_data_in[90];
|
||||
assign wbs_dat_o[4] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[58];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_58_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[58]), .Z(wbs_dat_o[3]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_58_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[58]), .Z(la_data_out[90]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[57] = la_data_in[91];
|
||||
assign wbs_dat_o[5] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[57];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_57_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[57]), .Z(wbs_dat_o[4]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_57_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[57]), .Z(la_data_out[91]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[56] = la_data_in[92];
|
||||
assign wbs_dat_o[6] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[56];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_56_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[56]), .Z(wbs_dat_o[5]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_56_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[56]), .Z(la_data_out[92]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[55] = la_data_in[93];
|
||||
assign wbs_dat_o[7] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[55];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_55_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[55]), .Z(wbs_dat_o[6]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_55_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[55]), .Z(la_data_out[93]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[54] = la_data_in[94];
|
||||
assign wbs_dat_o[8] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[54];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_54_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[54]), .Z(wbs_dat_o[7]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_54_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[54]), .Z(la_data_out[94]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[53] = la_data_in[95];
|
||||
assign wbs_dat_o[9] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[53];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_53_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[53]), .Z(wbs_dat_o[8]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_53_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[53]), .Z(la_data_out[95]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[52] = la_data_in[96];
|
||||
assign wbs_dat_o[10] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[52];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_52_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[52]), .Z(wbs_dat_o[9]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_52_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[52]), .Z(la_data_out[96]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[51] = la_data_in[97];
|
||||
assign wbs_dat_o[11] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[51];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_51_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[51]), .Z(wbs_dat_o[10]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_51_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[51]), .Z(la_data_out[97]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[50] = la_data_in[98];
|
||||
assign wbs_dat_o[12] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[50];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_50_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[50]), .Z(wbs_dat_o[11]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_50_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[50]), .Z(la_data_out[98]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[49] = la_data_in[99];
|
||||
assign wbs_dat_o[13] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[49];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_49_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[49]), .Z(wbs_dat_o[12]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_49_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[49]), .Z(la_data_out[99]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[48] = la_data_in[100];
|
||||
assign wbs_dat_o[14] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[48];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_48_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[48]), .Z(wbs_dat_o[13]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_48_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[48]), .Z(la_data_out[100]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[47] = la_data_in[101];
|
||||
assign wbs_dat_o[15] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[47];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_47_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[47]), .Z(wbs_dat_o[14]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_47_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[47]), .Z(la_data_out[101]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[46] = la_data_in[102];
|
||||
assign wbs_dat_o[16] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[46];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_46_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[46]), .Z(wbs_dat_o[15]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_46_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[46]), .Z(la_data_out[102]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[45] = la_data_in[103];
|
||||
assign wbs_dat_o[17] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[45];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_45_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[45]), .Z(wbs_dat_o[16]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_45_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[45]), .Z(la_data_out[103]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[44] = la_data_in[104];
|
||||
assign wbs_dat_o[18] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[44];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_44_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[44]), .Z(wbs_dat_o[17]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_44_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[44]), .Z(la_data_out[104]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[43] = la_data_in[105];
|
||||
assign wbs_dat_o[19] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[43];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_43_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[43]), .Z(wbs_dat_o[18]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_43_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[43]), .Z(la_data_out[105]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[42] = la_data_in[106];
|
||||
assign wbs_dat_o[20] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[42];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_42_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[42]), .Z(wbs_dat_o[19]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_42_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[42]), .Z(la_data_out[106]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[41] = la_data_in[107];
|
||||
assign wbs_dat_o[21] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[41];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_41_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[41]), .Z(wbs_dat_o[20]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_41_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[41]), .Z(la_data_out[107]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[40] = la_data_in[108];
|
||||
assign wbs_dat_o[22] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[40];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_40_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[40]), .Z(wbs_dat_o[21]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_40_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[40]), .Z(la_data_out[108]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[39] = la_data_in[109];
|
||||
assign wbs_dat_o[23] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[39];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_39_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[39]), .Z(wbs_dat_o[22]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_39_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[39]), .Z(la_data_out[109]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[38] = la_data_in[110];
|
||||
assign wbs_dat_o[24] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[38];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_38_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[38]), .Z(wbs_dat_o[23]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_38_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[38]), .Z(la_data_out[110]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[37] = la_data_in[111];
|
||||
assign wbs_dat_o[25] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[37];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_37_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[37]), .Z(wbs_dat_o[24]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_37_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[37]), .Z(la_data_out[111]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[36] = la_data_in[112];
|
||||
assign wbs_dat_o[26] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[36];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_36_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[36]), .Z(wbs_dat_o[25]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_36_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[36]), .Z(la_data_out[112]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[35] = la_data_in[113];
|
||||
assign wbs_dat_o[27] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[35];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_35_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[35]), .Z(wbs_dat_o[26]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_35_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[35]), .Z(la_data_out[113]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[34] = la_data_in[114];
|
||||
assign wbs_dat_o[28] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[34];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_34_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[34]), .Z(wbs_dat_o[27]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_34_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[34]), .Z(la_data_out[114]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[33] = la_data_in[115];
|
||||
assign wbs_dat_o[29] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[33];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_33_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[33]), .Z(wbs_dat_o[28]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_33_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[33]), .Z(la_data_out[115]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[32] = la_data_in[116];
|
||||
assign wbs_dat_o[30] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[32];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_32_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[32]), .Z(wbs_dat_o[29]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_32_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[32]), .Z(la_data_out[116]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[31] = la_data_in[117];
|
||||
assign wbs_dat_o[31] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[31];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_31_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[31]), .Z(wbs_dat_o[30]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_31_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[31]), .Z(la_data_out[117]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[30] = la_data_in[118];
|
||||
assign la_data_out[118] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[30];
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_30_DEMUX_WB (.TE_B(wb_la_switch_b), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[30]), .Z(wbs_dat_o[31]));
|
||||
sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_30_DEMUX_LA (.TE_B(wb_la_switch), .A(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[30]), .Z(la_data_out[118]));
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[29] = la_data_in[119];
|
||||
assign la_data_out[119] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[29];
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[28] = la_data_in[120];
|
||||
|
@ -344,7 +383,7 @@ module fpga_top (
|
|||
assign io_oeb[37] = 1'b1;
|
||||
|
||||
// FPGA clock port can be driven by either wishbone clock or an GPIO
|
||||
sky130_fd_sc_hd__mux2_1 FPGA_CLK_MUX (.S(la_wb_switch), .A1(wb_clk_i), .A0(io_in[36]), .X(clk));
|
||||
assign clk = io_in[36];
|
||||
assign io_out[36] = 1'b0;
|
||||
assign io_oeb[36] = 1'b1;
|
||||
|
||||
|
|
|
@ -68,6 +68,12 @@ module fpga_top (
|
|||
|
||||
// Switch between wishbone and logic analyzer
|
||||
wire wb_la_switch;
|
||||
wire wb_la_switch_b;
|
||||
|
||||
// Inverted switch signal to drive tri-state buffers
|
||||
// Use drive strength 8 as we will have 33 output pins which is driven by
|
||||
// the buffers
|
||||
sky130_fd_sc_hd__inv_8 WB_LA_SWITCH_INV (.A(la_wb_switch), .Y(la_wb_switch_b));
|
||||
|
||||
// Wire-bond TOP side I/O of FPGA to LEFT-side of Caravel interface
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[0] = io_in[24];
|
||||
|
@ -114,7 +120,7 @@ module fpga_top (
|
|||
assign io_oeb[37] = 1'b1;
|
||||
|
||||
// FPGA clock port can be driven by either wishbone clock or an GPIO
|
||||
sky130_fd_sc_hd__mux2_1 FPGA_CLK_MUX (.S(la_wb_switch), .A1(wb_clk_i), .A0(io_in[36]), .X(clk));
|
||||
assign clk = io_in[36];
|
||||
assign io_out[36] = 1'b0;
|
||||
assign io_oeb[36] = 1'b1;
|
||||
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
//-----------------------------------------------------
|
||||
// This file includes behavorial modeling
|
||||
// for digital I/O cells
|
||||
// These cells may not be directly used for physical design
|
||||
// Synthesis tools may be needed
|
||||
//-----------------------------------------------------
|
||||
`timescale 1ns/1ps
|
||||
|
||||
//-----------------------------------------------------
|
||||
// Function : A minimum input pad
|
||||
//-----------------------------------------------------
|
||||
module GPIN (
|
||||
inout A, // External PAD signal
|
||||
output Y // Data input
|
||||
);
|
||||
assign Y = A;
|
||||
endmodule
|
||||
|
||||
//-----------------------------------------------------
|
||||
// Function : A minimum output pad
|
||||
//-----------------------------------------------------
|
||||
module GPOUT (
|
||||
inout Y, // External PAD signal
|
||||
input A // Data output
|
||||
);
|
||||
assign Y = A;
|
||||
endmodule
|
||||
|
||||
//-----------------------------------------------------
|
||||
// Function : A minimum embedded I/O
|
||||
// just an overlay to interface other components
|
||||
//-----------------------------------------------------
|
||||
module EMBEDDED_IO (
|
||||
input SOC_IN, // Input to drive the inpad signal
|
||||
output SOC_OUT, // Output the outpad signal
|
||||
output SOC_DIR, // Output the directionality
|
||||
output FPGA_IN, // Input data to FPGA
|
||||
input FPGA_OUT, // Output data from FPGA
|
||||
input FPGA_DIR // direction control
|
||||
);
|
||||
|
||||
assign FPGA_IN = SOC_IN;
|
||||
assign SOC_OUT = FPGA_OUT;
|
||||
assign SOC_DIR = FPGA_DIR;
|
||||
endmodule
|
||||
|
|
@ -31,22 +31,26 @@ module EMBEDDED_IO_HD (
|
|||
input IO_ISOL_N // Isolation enable signal
|
||||
);
|
||||
|
||||
sky130_fd_sc_hd__and2_0 ISOL_EN_GATE (.A(IO_ISOL_N),
|
||||
.B(FPGA_DIR),
|
||||
wire SOC_DIR_N;
|
||||
|
||||
// Use drive-strength 4 for a high fan-out from SoC components
|
||||
sky130_fd_sc_hd__or2b_4 ISOL_EN_GATE (.B_N(IO_ISOL_N),
|
||||
.A(FPGA_DIR),
|
||||
.X(SOC_DIR)
|
||||
);
|
||||
|
||||
// Use drive-strength 4 for a high fan-out from global routing architecture
|
||||
sky130_fd_sc_hd__and2_4 IN_PROTECT_GATE (.A(SOC_DIR),
|
||||
.B(SOC_IN),
|
||||
.X(FPGA_IN)
|
||||
);
|
||||
sky130_fd_sc_hd__inv_1 INV_SOC_DIR (.A(SOC_DIR), .Y(SOC_DIR_N));
|
||||
sky130_fd_sc_hd__ebufn_4 IN_PROTECT_GATE (.TE_B(SOC_DIR_N),
|
||||
.A(SOC_IN),
|
||||
.Z(FPGA_IN)
|
||||
);
|
||||
|
||||
// Use drive-strength 4 for a potential high fan-out from SoC components
|
||||
sky130_fd_sc_hd__and2b_4 OUT_PROTECT_GATE (.A_N(SOC_DIR),
|
||||
.B(FPGA_OUT),
|
||||
.X(SOC_OUT)
|
||||
);
|
||||
sky130_fd_sc_hd__ebufn_4 OUT_PROTECT_GATE (.TE_B(SOC_DIR),
|
||||
.A(FPGA_OUT),
|
||||
.Z(SOC_OUT)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
#####################################################################
|
||||
# Python script to adapt an OpenFPGA architecture file
|
||||
# Python script generate Verilog codes for the Caravel wrapper
|
||||
# which interface the FPGA fabric and other SoC components
|
||||
# This script will
|
||||
# - Convert the ${SKYWATER_OPENFPGA_HOME} to the absolute path of current directory
|
||||
#
|
||||
# - generate the Verilog codes to connect FPGA inputs to Wishbone and Logic analyzer
|
||||
# - generate the Verilog codes to connect FPGA outputs to Wishbone and Logic analyzer
|
||||
#####################################################################
|
||||
|
||||
import os
|
||||
|
@ -34,7 +35,8 @@ args = parser.parse_args()
|
|||
# The list start from left-side of the wrapper to the right side
|
||||
# Target FPGA gpio start from 135, 134 ...
|
||||
#####################################################################
|
||||
wishbone_pins = ['wb_rst_i', 'wbs_ack_o', 'wbs_cyc_i',
|
||||
wishbone_pins = ['wb_clk_i', 'wb_rst_i',
|
||||
'wbs_ack_o', 'wbs_cyc_i',
|
||||
'wbs_stb_i', 'wbs_we_i']
|
||||
|
||||
wishbone_pins.extend([f"wbs_sel_i[{i}]" for i in range(4)])
|
||||
|
@ -73,25 +75,58 @@ for ipin in range(0, num_gpio_pins):
|
|||
# If this is an input pin of wishbone interface, whose postfix is '_i', we use MUX
|
||||
# otherwise, this is an output pin, we just wire the input to logic analyzer
|
||||
if ((wishbone_pins[ipin].endswith("_i")) or (re.search(r'_i\[\d+\]$', wishbone_pins[ipin], re.M | re.I))):
|
||||
curr_line = " " + "sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_" + str(135 - ipin) + "_MUX (.S(la_wb_switch), .A1(" + str(
|
||||
##############################################################
|
||||
# SOC INPUT will be directly driven by either
|
||||
# - the Wishbone input
|
||||
# or
|
||||
# - the logic analyzer input
|
||||
# through a multiplexer controlled by the signal 'wb_la_switch
|
||||
curr_line = " " + "sky130_fd_sc_hd__mux2_1 FPGA2SOC_IN_" + str(135 - ipin) + "_MUX (.S(wb_la_switch), .A1(" + str(
|
||||
wishbone_pins[ipin]) + "), .A0(" + str(logic_analyzer_pins[ipin][0]) + "), .X(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[" + str(135 - ipin) + "]));"
|
||||
netlist_lines.append(curr_line + "\n")
|
||||
##############################################################
|
||||
# SOC OUTPUT will drive an output of logic analyzer
|
||||
# since this I/O is going to interface a Wishbone input only
|
||||
curr_line = " " + "assign " + \
|
||||
str(logic_analyzer_pins[ipin][1]) + \
|
||||
" = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[" + str(135 - ipin) + "];"
|
||||
netlist_lines.append(curr_line + "\n")
|
||||
elif ((wishbone_pins[ipin].endswith("_o")) or (re.search(r'_o\[\d+\]$', wishbone_pins[ipin], re.M | re.I))):
|
||||
##############################################################
|
||||
# SOC INPUT will be directly driven by logic analyzer
|
||||
# since this I/O is going to interface a Wishbone output only
|
||||
curr_line = " " + "assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[" + str(
|
||||
135 - ipin) + "] = " + str(logic_analyzer_pins[ipin][0]) + ";"
|
||||
netlist_lines.append(curr_line + "\n")
|
||||
curr_line = " " + "assign " + \
|
||||
str(wishbone_pins[ipin]) + \
|
||||
" = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[" + str(135 - ipin) + "];"
|
||||
##############################################################
|
||||
# SOC OUTPUT will drive the Wishbone output through a tri-state buffer
|
||||
# As the buffer is enabled by logic '0', we use the inverted 'wb_la_switch'
|
||||
curr_line = " " + "sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_" + str(135 - ipin) + "_DEMUX_WB (" + \
|
||||
".TE_B(wb_la_switch_b), " + \
|
||||
".A(" + "gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[" + str(135 - ipin) + "]), " + \
|
||||
".Z(" + str(wishbone_pins[ipin]) + ")" + \
|
||||
");"
|
||||
netlist_lines.append(curr_line + "\n")
|
||||
##############################################################
|
||||
# SOC OUTPUT will also drive the Logic Analyzer output through a tri-state buffer
|
||||
# As the buffer is enabled by logic '0', we use the 'wb_la_switch'
|
||||
curr_line = " " + "sky130_fd_sc_hd__ebufn_4 FPGA2SOC_OUT_" + str(135 - ipin) + "_DEMUX_LA (" + \
|
||||
".TE_B(wb_la_switch), " + \
|
||||
".A(" + "gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[" + str(135 - ipin) + "]), " + \
|
||||
".Z(" + str(logic_analyzer_pins[ipin][1]) + ")" + \
|
||||
");"
|
||||
netlist_lines.append(curr_line + "\n")
|
||||
|
||||
elif ((ipin >= num_wishbone_pins) and (ipin < num_logic_analyzer_pins)):
|
||||
##############################################################
|
||||
# SOC INPUT will be directly driven by logic analyzer
|
||||
# since this I/O is going to interface logic analyzer input only
|
||||
curr_line = " " + "assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[" + str(
|
||||
135 - ipin) + "] = " + str(logic_analyzer_pins[ipin][0]) + ";"
|
||||
netlist_lines.append(curr_line + "\n")
|
||||
##############################################################
|
||||
# SOC OUTPUT will directly drive logic analyzer
|
||||
# since this I/O is going to interface logic analyzer output only
|
||||
curr_line = " " + "assign " + \
|
||||
str(logic_analyzer_pins[ipin][1]) + \
|
||||
" = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[" + str(135 - ipin) + "];"
|
||||
|
|
|
@ -31,10 +31,24 @@ arch0=${SKYWATER_OPENFPGA_HOME}/ARCH/vpr_arch/k4_frac_N8_tileable_register_scan_
|
|||
[BENCHMARKS]
|
||||
bench0=${SKYWATER_OPENFPGA_HOME}/BENCHMARK/and2/and2.v
|
||||
bench1=${SKYWATER_OPENFPGA_HOME}/BENCHMARK/and2_latch/and2_latch.v
|
||||
bench2=${SKYWATER_OPENFPGA_HOME}/BENCHMARK/bin2bcd/bin2bcd.v
|
||||
bench3=${SKYWATER_OPENFPGA_HOME}/BENCHMARK/counter/counter.v
|
||||
bench4=${SKYWATER_OPENFPGA_HOME}/BENCHMARK/routing_test/routing_test.v
|
||||
# RS decoder needs 1.5k LUT4, exceeding device capacity
|
||||
#bench5=${SKYWATER_OPENFPGA_HOME}/BENCHMARK/rs_decoder/rtl/rs_decoder.v
|
||||
bench6=${SKYWATER_OPENFPGA_HOME}/BENCHMARK/simon_bit_serial/rtl/*.v
|
||||
bench7=${SKYWATER_OPENFPGA_HOME}/BENCHMARK/and2_or2/and2_or2.v
|
||||
|
||||
[SYNTHESIS_PARAM]
|
||||
bench0_top = and2
|
||||
bench1_top = and2_latch
|
||||
bench2_top = bin2bcd
|
||||
bench3_top = counter
|
||||
bench4_top = routing_test
|
||||
# RS decoder needs 1.5k LUT4, exceeding device capacity
|
||||
#bench5_top = rs_decoder_top
|
||||
bench6_top = top_module
|
||||
bench7_top = and2_or2
|
||||
|
||||
[SCRIPT_PARAM_MIN_ROUTE_CHAN_WIDTH]
|
||||
#end_flow_with_test=
|
||||
|
|
|
@ -2,4 +2,5 @@
|
|||
This directory contains the testbenches for FPGA fabrics that are automatically generated by OpenFPGA or tuned for a specific FPGA fabric.
|
||||
Please keep this directory clean and organize as follows:
|
||||
- Each testbench should be placed in a separated directory
|
||||
- **common**: include commonly used testbench template for post-PnR verification mainly
|
||||
- READMD is the only file allowed in the directory, others should be sub-directories.
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
# Skywater PDK
|
||||
This directory contains the commonly used testbench template for FPGA verificatio
|
||||
|
||||
* **post\_pnr\_fpga\_cells.v**: The netlist that includes all the standard cells used by the post-PnRed FPGA fabric
|
||||
|
||||
* Pre-PnR testbenches
|
||||
- **pre\_pnr\_ccff\_test.v**: The template testbench for post-PnR verification on the configuration chain
|
||||
|
||||
* Post-PnR testbenches
|
||||
- **post\_pnr\_ccff\_test.v**: The template testbench for post-PnR verification on the configuration chain
|
||||
- **post\_pnr\_scff\_test.v**: The template testbench for post-PnR verification on the scan chain
|
|
@ -54,6 +54,7 @@ wire [0:0] IO_ISOL_N;
|
|||
// ----- Counters for error checking -----
|
||||
integer num_prog_cycles = 0;
|
||||
integer num_errors = 0;
|
||||
integer num_checked_points = 0;
|
||||
|
||||
// Indicate when configuration should be finished
|
||||
reg config_done = 0;
|
||||
|
@ -134,9 +135,9 @@ initial
|
|||
.prog_clk(prog_clk[0]),
|
||||
.Test_en(Test_en[0]),
|
||||
.clk(clk[0]),
|
||||
.gfpga_pad_EMBEDDED_IO_SOC_IN(gfpga_pad_EMBEDDED_IO_SOC_IN[0:`FPGA_IO_SIZE - 1]),
|
||||
.gfpga_pad_EMBEDDED_IO_SOC_OUT(gfpga_pad_EMBEDDED_IO_SOC_OUT[0:`FPGA_IO_SIZE - 1]),
|
||||
.gfpga_pad_EMBEDDED_IO_SOC_DIR(gfpga_pad_EMBEDDED_IO_SOC_DIR[0:`FPGA_IO_SIZE - 1]),
|
||||
.gfpga_pad_EMBEDDED_IO_HD_SOC_IN(gfpga_pad_EMBEDDED_IO_SOC_IN[0:`FPGA_IO_SIZE - 1]),
|
||||
.gfpga_pad_EMBEDDED_IO_HD_SOC_OUT(gfpga_pad_EMBEDDED_IO_SOC_OUT[0:`FPGA_IO_SIZE - 1]),
|
||||
.gfpga_pad_EMBEDDED_IO_HD_SOC_DIR(gfpga_pad_EMBEDDED_IO_SOC_DIR[0:`FPGA_IO_SIZE - 1]),
|
||||
.ccff_head(ccff_head[0]),
|
||||
.ccff_tail(ccff_tail[0]),
|
||||
.sc_head(sc_head[0]),
|
||||
|
@ -168,11 +169,24 @@ initial
|
|||
|
||||
// Check the ccff_tail when configuration is done
|
||||
if (1'b1 == config_done) begin
|
||||
if (sc_tail != 1'b1) begin
|
||||
$display("Error: sc_tail = %b", sc_tail);
|
||||
num_errors = num_errors + 1;
|
||||
// The tail should spit a pulse after configuration is done
|
||||
// So it should be at logic '1' and then pulled down to logic '0'
|
||||
if (0 == num_checked_points) begin
|
||||
if (ccff_tail !== 1'b1) begin
|
||||
$display("Error: ccff_tail = %b", sc_tail);
|
||||
num_errors = num_errors + 1;
|
||||
end
|
||||
end
|
||||
if (1 <= num_checked_points) begin
|
||||
if (ccff_tail !== 1'b0) begin
|
||||
$display("Error: ccff_tail = %b", sc_tail);
|
||||
num_errors = num_errors + 1;
|
||||
end
|
||||
end
|
||||
num_checked_points = num_checked_points + 1;
|
||||
end
|
||||
|
||||
if (2 < num_checked_points) begin
|
||||
$display("Simulation finish with %d errors", num_errors);
|
||||
|
||||
// End simulation
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
// Include Skywater cell netlists that are used in post PnRed FPGA netlists
|
||||
// Cells already used pre-PnR
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/or2/sky130_fd_sc_hd__or2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/sdfxtp/sky130_fd_sc_hd__sdfxtp_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dfxtp/sky130_fd_sc_hd__dfxtp_1.v"
|
||||
|
||||
// Cells added due to their use in PnR
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/or2/sky130_fd_sc_hd__or2_0.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/conb/sky130_fd_sc_hd__conb_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd1/sky130_fd_sc_hd__dlygate4sd1_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd2/sky130_fd_sc_hd__dlygate4sd2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlymetal6s2s/sky130_fd_sc_hd__dlymetal6s2s_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlymetal6s6s/sky130_fd_sc_hd__dlymetal6s6s_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_6.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd3/sky130_fd_sc_hd__dlygate4sd3_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_6.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_12.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/bufinv/sky130_fd_sc_hd__bufinv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinvlp/sky130_fd_sc_hd__clkinvlp_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinvlp/sky130_fd_sc_hd__clkinvlp_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkbuf/sky130_fd_sc_hd__clkbuf_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkbuf/sky130_fd_sc_hd__clkbuf_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkdlybuf4s50/sky130_fd_sc_hd__clkdlybuf4s50_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_12.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/bufbuf/sky130_fd_sc_hd__bufbuf_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/bufbuf/sky130_fd_sc_hd__bufbuf_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/nor2b/sky130_fd_sc_hd__nor2b_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/and2/sky130_fd_sc_hd__and2_0.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/nand2b/sky130_fd_sc_hd__nand2b_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/ebufn/sky130_fd_sc_hd__ebufn_4.v"
|
|
@ -54,6 +54,7 @@ wire [0:0] IO_ISOL_N;
|
|||
// ----- Counters for error checking -----
|
||||
integer num_clock_cycles = 0;
|
||||
integer num_errors = 0;
|
||||
integer num_checked_points = 0;
|
||||
|
||||
// Indicate when configuration should be finished
|
||||
reg scan_done = 0;
|
||||
|
@ -130,14 +131,14 @@ initial
|
|||
.prog_clk(prog_clk[0]),
|
||||
.Test_en(Test_en[0]),
|
||||
.clk(clk[0]),
|
||||
.gfpga_pad_EMBEDDED_IO_SOC_IN(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[0:`FPGA_IO_SIZE - 1]),
|
||||
.gfpga_pad_EMBEDDED_IO_SOC_OUT(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[0:`FPGA_IO_SIZE - 1]),
|
||||
.gfpga_pad_EMBEDDED_IO_SOC_DIR(gfpga_pad_EMBEDDED_IO_HD_SOC_DIR[0:`FPGA_IO_SIZE - 1]),
|
||||
.gfpga_pad_EMBEDDED_IO_HD_SOC_IN(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[0:`FPGA_IO_SIZE - 1]),
|
||||
.gfpga_pad_EMBEDDED_IO_HD_SOC_OUT(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[0:`FPGA_IO_SIZE - 1]),
|
||||
.gfpga_pad_EMBEDDED_IO_HD_SOC_DIR(gfpga_pad_EMBEDDED_IO_HD_SOC_DIR[0:`FPGA_IO_SIZE - 1]),
|
||||
.ccff_head(ccff_head[0]),
|
||||
.ccff_tail(ccff_tail[0]),
|
||||
.sc_head(sc_head[0]),
|
||||
.sc_tail(sc_tail[0])
|
||||
//.IO_ISOL_N(IO_ISOL_N)
|
||||
.sc_tail(sc_tail[0]),
|
||||
.IO_ISOL_N(IO_ISOL_N)
|
||||
);
|
||||
|
||||
// ----- Force constant '0' to FPGA I/O as this testbench only check
|
||||
|
@ -164,11 +165,24 @@ initial
|
|||
|
||||
// Check the tail of scan-chain when configuration is done
|
||||
if (1'b1 == scan_done) begin
|
||||
if (sc_tail != 1'b1) begin
|
||||
$display("Error: sc_tail = %b", sc_tail);
|
||||
num_errors = num_errors + 1;
|
||||
// The tail should spit a pulse after configuration is done
|
||||
// So it should be at logic '1' and then pulled down to logic '0'
|
||||
if (0 == num_checked_points) begin
|
||||
if (sc_tail !== 1'b1) begin
|
||||
$display("Error: sc_tail = %b", sc_tail);
|
||||
num_errors = num_errors + 1;
|
||||
end
|
||||
end
|
||||
if (1 <= num_checked_points) begin
|
||||
if (sc_tail !== 1'b0) begin
|
||||
$display("Error: sc_tail = %b", sc_tail);
|
||||
num_errors = num_errors + 1;
|
||||
end
|
||||
end
|
||||
num_checked_points = num_checked_points + 1;
|
||||
end
|
||||
|
||||
if (2 < num_checked_points) begin
|
||||
$display("Simulation finish with %d errors", num_errors);
|
||||
|
||||
// End simulation
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
// Description: FPGA Verilog Testbench for Top-level netlist of Design: and2_latch
|
||||
// Author: Xifan TANG
|
||||
// Organization: University of Utah
|
||||
// Date: Tue Nov 17 15:03:02 2020
|
||||
// Date: Tue Nov 17 19:54:57 2020
|
||||
//-------------------------------------------
|
||||
//----- Time scale -----
|
||||
`timescale 1ns / 1ps
|
||||
|
@ -12,14 +12,15 @@ module and2_latch_autocheck_top_tb;
|
|||
// ----- Local wires for global ports of FPGA fabric -----
|
||||
wire [0:0] prog_clk;
|
||||
wire [0:0] Test_en;
|
||||
wire [0:0] IO_ISOL_N;
|
||||
wire [0:0] clk;
|
||||
|
||||
// ----- Local wires for I/Os of FPGA fabric -----
|
||||
|
||||
wire [0:143] gfpga_pad_EMBEDDED_IO_SOC_IN;
|
||||
wire [0:143] gfpga_pad_EMBEDDED_IO_HD_SOC_IN;
|
||||
|
||||
wire [0:143] gfpga_pad_EMBEDDED_IO_SOC_OUT;
|
||||
wire [0:143] gfpga_pad_EMBEDDED_IO_SOC_DIR;
|
||||
wire [0:143] gfpga_pad_EMBEDDED_IO_HD_SOC_OUT;
|
||||
wire [0:143] gfpga_pad_EMBEDDED_IO_HD_SOC_DIR;
|
||||
|
||||
reg [0:0] config_done;
|
||||
wire [0:0] prog_clock;
|
||||
|
@ -141,321 +142,325 @@ initial
|
|||
assign prog_clk[0] = prog_clock[0];
|
||||
assign clk[0] = op_clock[0];
|
||||
assign Test_en[0] = 1'b0;
|
||||
assign IO_ISOL_N[0] = 1'b1;
|
||||
assign sc_head[0] = 1'b0;
|
||||
// ----- End connecting global ports of FPGA fabric to stimuli -----
|
||||
// ----- FPGA top-level module to be capsulated -----
|
||||
fpga_core FPGA_DUT (
|
||||
.prog_clk(prog_clk[0]),
|
||||
.Test_en(Test_en[0]),
|
||||
.IO_ISOL_N(IO_ISOL_N[0]),
|
||||
.clk(clk[0]),
|
||||
.gfpga_pad_EMBEDDED_IO_SOC_IN(gfpga_pad_EMBEDDED_IO_SOC_IN[0:143]),
|
||||
.gfpga_pad_EMBEDDED_IO_SOC_OUT(gfpga_pad_EMBEDDED_IO_SOC_OUT[0:143]),
|
||||
.gfpga_pad_EMBEDDED_IO_SOC_DIR(gfpga_pad_EMBEDDED_IO_SOC_DIR[0:143]),
|
||||
.gfpga_pad_EMBEDDED_IO_HD_SOC_IN(gfpga_pad_EMBEDDED_IO_HD_SOC_IN[0:143]),
|
||||
.gfpga_pad_EMBEDDED_IO_HD_SOC_OUT(gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[0:143]),
|
||||
.gfpga_pad_EMBEDDED_IO_HD_SOC_DIR(gfpga_pad_EMBEDDED_IO_HD_SOC_DIR[0:143]),
|
||||
.ccff_head(ccff_head[0]),
|
||||
.ccff_tail(ccff_tail[0]),
|
||||
.sc_head(sc_head[0]),
|
||||
.sc_tail(sc_tail[0])
|
||||
);
|
||||
|
||||
// ----- Link BLIF Benchmark I/Os to FPGA I/Os -----
|
||||
// ----- Blif Benchmark input a is mapped to FPGA IOPAD gfpga_pad_EMBEDDED_IO_SOC_IN[11] -----
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[11] = a[0];
|
||||
// ----- Blif Benchmark input a is mapped to FPGA IOPAD gfpga_pad_EMBEDDED_IO_HD_SOC_IN[11] -----
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[11] = a[0];
|
||||
|
||||
// ----- Blif Benchmark input b is mapped to FPGA IOPAD gfpga_pad_EMBEDDED_IO_SOC_IN[12] -----
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[12] = b[0];
|
||||
// ----- Blif Benchmark input b is mapped to FPGA IOPAD gfpga_pad_EMBEDDED_IO_HD_SOC_IN[12] -----
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[12] = b[0];
|
||||
|
||||
// ----- Blif Benchmark input clk is mapped to FPGA IOPAD gfpga_pad_EMBEDDED_IO_SOC_IN[42] -----
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[42] = clk[0];
|
||||
// ----- Blif Benchmark input clk is mapped to FPGA IOPAD gfpga_pad_EMBEDDED_IO_HD_SOC_IN[42] -----
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[42] = clk[0];
|
||||
|
||||
// ----- Blif Benchmark output out_c is mapped to FPGA IOPAD gfpga_pad_EMBEDDED_IO_SOC_OUT[13] -----
|
||||
assign out_c_fpga[0] = gfpga_pad_EMBEDDED_IO_SOC_OUT[13];
|
||||
// ----- Blif Benchmark output out_c is mapped to FPGA IOPAD gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[13] -----
|
||||
assign out_c_fpga[0] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[13];
|
||||
|
||||
// ----- Blif Benchmark output out_d is mapped to FPGA IOPAD gfpga_pad_EMBEDDED_IO_SOC_OUT[10] -----
|
||||
assign out_d_fpga[0] = gfpga_pad_EMBEDDED_IO_SOC_OUT[10];
|
||||
// ----- Blif Benchmark output out_d is mapped to FPGA IOPAD gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[10] -----
|
||||
assign out_d_fpga[0] = gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[10];
|
||||
|
||||
// ----- Wire unused FPGA I/Os to constants -----
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[0] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[1] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[2] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[3] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[4] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[5] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[6] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[7] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[8] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[9] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[10] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[13] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[14] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[15] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[16] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[17] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[18] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[19] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[20] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[21] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[22] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[23] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[24] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[25] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[26] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[27] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[28] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[29] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[30] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[31] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[32] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[33] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[34] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[35] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[36] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[37] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[38] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[39] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[40] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[41] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[43] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[44] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[45] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[46] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[47] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[48] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[49] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[50] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[51] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[52] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[53] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[54] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[55] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[56] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[57] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[58] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[59] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[60] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[61] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[62] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[63] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[64] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[65] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[66] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[67] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[68] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[69] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[70] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[71] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[72] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[73] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[74] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[75] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[76] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[77] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[78] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[79] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[80] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[81] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[82] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[83] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[84] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[85] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[86] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[87] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[88] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[89] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[90] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[91] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[92] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[93] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[94] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[95] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[96] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[97] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[98] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[99] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[100] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[101] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[102] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[103] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[104] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[105] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[106] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[107] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[108] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[109] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[110] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[111] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[112] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[113] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[114] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[115] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[116] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[117] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[118] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[119] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[120] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[121] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[122] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[123] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[124] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[125] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[126] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[127] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[128] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[129] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[130] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[131] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[132] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[133] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[134] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[135] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[136] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[137] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[138] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[139] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[140] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[141] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[142] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_IN[143] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[0] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[1] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[2] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[3] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[4] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[5] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[6] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[7] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[8] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[9] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[10] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[13] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[14] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[15] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[16] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[17] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[18] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[19] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[20] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[21] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[22] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[23] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[24] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[25] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[26] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[27] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[28] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[29] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[30] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[31] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[32] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[33] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[34] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[35] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[36] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[37] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[38] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[39] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[40] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[41] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[43] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[44] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[45] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[46] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[47] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[48] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[49] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[50] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[51] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[52] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[53] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[54] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[55] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[56] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[57] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[58] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[59] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[60] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[61] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[62] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[63] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[64] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[65] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[66] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[67] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[68] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[69] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[70] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[71] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[72] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[73] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[74] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[75] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[76] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[77] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[78] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[79] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[80] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[81] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[82] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[83] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[84] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[85] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[86] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[87] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[88] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[89] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[90] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[91] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[92] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[93] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[94] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[95] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[96] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[97] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[98] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[99] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[100] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[101] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[102] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[103] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[104] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[105] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[106] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[107] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[108] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[109] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[110] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[111] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[112] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[113] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[114] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[115] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[116] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[117] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[118] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[119] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[120] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[121] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[122] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[123] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[124] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[125] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[126] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[127] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[128] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[129] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[130] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[131] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[132] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[133] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[134] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[135] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[136] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[137] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[138] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[139] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[140] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[141] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[142] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_IN[143] = 1'b0;
|
||||
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[0] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[1] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[2] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[3] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[4] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[5] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[6] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[7] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[8] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[9] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[11] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[12] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[14] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[15] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[16] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[17] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[18] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[19] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[20] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[21] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[22] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[23] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[24] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[25] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[26] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[27] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[28] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[29] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[30] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[31] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[32] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[33] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[34] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[35] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[36] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[37] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[38] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[39] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[40] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[41] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[42] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[43] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[44] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[45] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[46] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[47] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[48] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[49] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[50] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[51] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[52] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[53] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[54] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[55] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[56] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[57] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[58] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[59] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[60] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[61] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[62] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[63] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[64] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[65] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[66] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[67] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[68] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[69] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[70] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[71] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[72] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[73] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[74] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[75] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[76] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[77] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[78] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[79] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[80] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[81] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[82] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[83] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[84] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[85] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[86] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[87] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[88] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[89] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[90] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[91] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[92] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[93] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[94] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[95] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[96] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[97] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[98] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[99] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[100] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[101] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[102] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[103] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[104] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[105] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[106] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[107] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[108] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[109] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[110] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[111] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[112] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[113] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[114] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[115] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[116] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[117] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[118] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[119] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[120] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[121] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[122] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[123] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[124] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[125] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[126] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[127] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[128] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[129] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[130] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[131] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[132] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[133] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[134] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[135] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[136] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[137] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[138] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[139] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[140] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[141] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[142] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_SOC_OUT[143] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[0] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[1] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[2] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[3] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[4] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[5] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[6] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[7] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[8] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[9] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[11] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[12] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[14] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[15] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[16] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[17] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[18] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[19] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[20] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[21] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[22] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[23] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[24] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[25] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[26] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[27] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[28] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[29] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[30] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[31] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[32] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[33] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[34] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[35] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[36] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[37] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[38] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[39] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[40] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[41] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[42] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[43] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[44] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[45] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[46] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[47] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[48] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[49] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[50] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[51] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[52] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[53] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[54] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[55] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[56] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[57] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[58] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[59] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[60] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[61] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[62] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[63] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[64] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[65] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[66] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[67] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[68] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[69] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[70] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[71] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[72] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[73] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[74] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[75] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[76] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[77] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[78] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[79] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[80] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[81] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[82] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[83] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[84] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[85] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[86] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[87] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[88] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[89] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[90] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[91] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[92] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[93] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[94] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[95] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[96] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[97] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[98] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[99] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[100] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[101] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[102] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[103] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[104] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[105] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[106] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[107] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[108] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[109] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[110] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[111] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[112] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[113] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[114] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[115] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[116] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[117] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[118] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[119] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[120] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[121] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[122] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[123] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[124] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[125] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[126] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[127] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[128] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[129] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[130] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[131] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[132] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[133] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[134] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[135] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[136] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[137] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[138] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[139] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[140] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[141] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[142] = 1'b0;
|
||||
assign gfpga_pad_EMBEDDED_IO_HD_SOC_OUT[143] = 1'b0;
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
// ----- Reference Benchmark Instanication -------
|
||||
|
|
|
@ -14,51 +14,11 @@
|
|||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/HDL/common/skywater_function_verification.v"
|
||||
|
||||
// ------ Include Skywater cell netlists -----
|
||||
// Cells already used pre-PnR
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/or2/sky130_fd_sc_hd__or2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/sdfxtp/sky130_fd_sc_hd__sdfxtp_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dfxtp/sky130_fd_sc_hd__dfxtp_1.v"
|
||||
|
||||
// Cells added due to their use in PnR
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/or2/sky130_fd_sc_hd__or2_0.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/conb/sky130_fd_sc_hd__conb_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd1/sky130_fd_sc_hd__dlygate4sd1_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd2/sky130_fd_sc_hd__dlygate4sd2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlymetal6s2s/sky130_fd_sc_hd__dlymetal6s2s_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlymetal6s6s/sky130_fd_sc_hd__dlymetal6s6s_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_6.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd3/sky130_fd_sc_hd__dlygate4sd3_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_6.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_12.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/bufinv/sky130_fd_sc_hd__bufinv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinvlp/sky130_fd_sc_hd__clkinvlp_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinvlp/sky130_fd_sc_hd__clkinvlp_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkbuf/sky130_fd_sc_hd__clkbuf_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkdlybuf4s50/sky130_fd_sc_hd__clkdlybuf4s50_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_12.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/bufbuf/sky130_fd_sc_hd__bufbuf_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/common/post_pnr_fpga_cells.v"
|
||||
|
||||
// ------ Include fabric top-level netlists -----
|
||||
//`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/FPGA1212_FC_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_top/fpga_top_icv_in_design.pt.v"
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "and2_latch_output_verilog.v"
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
//-------------------------------------------
|
||||
// FPGA Synthesizable Verilog Netlist
|
||||
// Description: Netlist Summary
|
||||
// Author: Xifan TANG
|
||||
// Organization: University of Utah
|
||||
// Date: Sun Nov 22 13:37:06 2020
|
||||
//-------------------------------------------
|
||||
//----- Time scale -----
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
// ------ Include simulation defines -----
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/k4_N8_caravel_io_FPGA_12x12_fdhd_cc/prepnr/verilog_testbench/define_simulation.v"
|
||||
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/HDL/common/skywater_function_verification.v"
|
||||
|
||||
// ------ Include Skywater cell netlists -----
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/common/post_pnr_fpga_cells.v"
|
||||
|
||||
// ------ Include fabric top-level netlists -----
|
||||
//`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/FPGA1212_FC_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_top/fpga_top_icv_in_design.pt.v"
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "and2_or2_output_verilog.v"
|
||||
`endif
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/k4_N8_caravel_io_FPGA_12x12_fdhd_cc/postpnr/verilog_testbench/and2_or2_post_pnr_autocheck_top_tb.v"
|
||||
`endif
|
||||
|
|
@ -14,51 +14,11 @@
|
|||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/HDL/common/skywater_function_verification.v"
|
||||
|
||||
// ------ Include Skywater cell netlists -----
|
||||
// Cells already used pre-PnR
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/or2/sky130_fd_sc_hd__or2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/sdfxtp/sky130_fd_sc_hd__sdfxtp_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dfxtp/sky130_fd_sc_hd__dfxtp_1.v"
|
||||
|
||||
// Cells added due to their use in PnR
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/or2/sky130_fd_sc_hd__or2_0.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/conb/sky130_fd_sc_hd__conb_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd1/sky130_fd_sc_hd__dlygate4sd1_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd2/sky130_fd_sc_hd__dlygate4sd2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlymetal6s2s/sky130_fd_sc_hd__dlymetal6s2s_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlymetal6s6s/sky130_fd_sc_hd__dlymetal6s6s_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_6.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd3/sky130_fd_sc_hd__dlygate4sd3_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_6.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_12.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/bufinv/sky130_fd_sc_hd__bufinv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinvlp/sky130_fd_sc_hd__clkinvlp_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinvlp/sky130_fd_sc_hd__clkinvlp_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkbuf/sky130_fd_sc_hd__clkbuf_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkdlybuf4s50/sky130_fd_sc_hd__clkdlybuf4s50_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_12.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/bufbuf/sky130_fd_sc_hd__bufbuf_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/common/post_pnr_fpga_cells.v"
|
||||
|
||||
// ------ Include fabric top-level netlists -----
|
||||
//`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/FPGA1212_FC_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_top/fpga_top_icv_in_design.pt.v"
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "and2_output_verilog.v"
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
//-------------------------------------------
|
||||
// FPGA Synthesizable Verilog Netlist
|
||||
// Description: Netlist Summary
|
||||
// Author: Xifan TANG
|
||||
// Organization: University of Utah
|
||||
// Date: Fri Nov 20 15:48:46 2020
|
||||
//-------------------------------------------
|
||||
//----- Time scale -----
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
// ------ Include simulation defines -----
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/k4_N8_caravel_io_FPGA_12x12_fdhd_cc/prepnr/verilog_testbench/define_simulation.v"
|
||||
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/HDL/common/skywater_function_verification.v"
|
||||
|
||||
// ------ Include Skywater cell netlists -----
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/common/post_pnr_fpga_cells.v"
|
||||
|
||||
// ------ Include fabric top-level netlists -----
|
||||
//`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/FPGA1212_FC_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_top/fpga_top_icv_in_design.pt.v"
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "bin2bcd_output_verilog.v"
|
||||
`endif
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/k4_N8_caravel_io_FPGA_12x12_fdhd_cc/postpnr/verilog_testbench/bin2bcd_post_pnr_autocheck_top_tb.v"
|
||||
`endif
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
`timescale 1ns / 1ps
|
||||
|
||||
// Design parameter for FPGA I/O sizes
|
||||
`define FPGA_IO_SIZE 108
|
||||
`define FPGA_IO_SIZE 144
|
||||
|
||||
// Design parameter for FPGA bitstream sizes
|
||||
`define FPGA_BITSTREAM_SIZE 65656
|
||||
|
@ -20,50 +20,10 @@
|
|||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/HDL/common/skywater_function_verification.v"
|
||||
|
||||
// ------ Include Skywater cell netlists -----
|
||||
// Cells already used pre-PnR
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/or2/sky130_fd_sc_hd__or2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/sdfxtp/sky130_fd_sc_hd__sdfxtp_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dfxtp/sky130_fd_sc_hd__dfxtp_1.v"
|
||||
|
||||
// Cells added due to their use in PnR
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/or2/sky130_fd_sc_hd__or2_0.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/conb/sky130_fd_sc_hd__conb_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd1/sky130_fd_sc_hd__dlygate4sd1_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd2/sky130_fd_sc_hd__dlygate4sd2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlymetal6s2s/sky130_fd_sc_hd__dlymetal6s2s_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlymetal6s6s/sky130_fd_sc_hd__dlymetal6s6s_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_6.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd3/sky130_fd_sc_hd__dlygate4sd3_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_6.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_12.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/bufinv/sky130_fd_sc_hd__bufinv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinvlp/sky130_fd_sc_hd__clkinvlp_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinvlp/sky130_fd_sc_hd__clkinvlp_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkbuf/sky130_fd_sc_hd__clkbuf_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkdlybuf4s50/sky130_fd_sc_hd__clkdlybuf4s50_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_12.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/bufbuf/sky130_fd_sc_hd__bufbuf_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/common/post_pnr_fpga_cells.v"
|
||||
|
||||
// ------ Include fabric top-level netlists -----
|
||||
//`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/FPGA1212_FC_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_top/fpga_top_icv_in_design.pt.v"
|
||||
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/common/post_pnr_ccff_test.v"
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
//-------------------------------------------
|
||||
// FPGA Synthesizable Verilog Netlist
|
||||
// Description: Netlist Summary
|
||||
// Author: Xifan TANG
|
||||
// Organization: University of Utah
|
||||
// Date: Fri Nov 20 15:48:45 2020
|
||||
//-------------------------------------------
|
||||
//----- Time scale -----
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
// ------ Include simulation defines -----
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/k4_N8_caravel_io_FPGA_12x12_fdhd_cc/prepnr/verilog_testbench/define_simulation.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/HDL/common/skywater_function_verification.v"
|
||||
|
||||
// ------ Include Skywater cell netlists -----
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/common/post_pnr_fpga_cells.v"
|
||||
|
||||
// ------ Include fabric top-level netlists -----
|
||||
//`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/FPGA1212_FC_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_top/fpga_top_icv_in_design.pt.v"
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "counter_output_verilog.v"
|
||||
`endif
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/k4_N8_caravel_io_FPGA_12x12_fdhd_cc/postpnr/verilog_testbench/counter_post_pnr_autocheck_top_tb.v"
|
||||
`endif
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
//-------------------------------------------
|
||||
// FPGA Synthesizable Verilog Netlist
|
||||
// Description: Netlist Summary
|
||||
// Author: Xifan TANG
|
||||
// Organization: University of Utah
|
||||
// Date: Fri Nov 20 15:48:54 2020
|
||||
//-------------------------------------------
|
||||
//----- Time scale -----
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
// ------ Include simulation defines -----
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/k4_N8_caravel_io_FPGA_12x12_fdhd_cc/prepnr/verilog_testbench/define_simulation.v"
|
||||
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/HDL/common/skywater_function_verification.v"
|
||||
|
||||
// ------ Include Skywater cell netlists -----
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/common/post_pnr_fpga_cells.v"
|
||||
|
||||
// ------ Include fabric top-level netlists -----
|
||||
//`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/FPGA1212_FC_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_top/fpga_top_icv_in_design.pt.v"
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "routing_test_output_verilog.v"
|
||||
`endif
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/k4_N8_caravel_io_FPGA_12x12_fdhd_cc/postpnr/verilog_testbench/routing_test_post_pnr_autocheck_top_tb.v"
|
||||
`endif
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
`timescale 1ns / 1ps
|
||||
|
||||
// Design parameter for FPGA I/O sizes
|
||||
`define FPGA_IO_SIZE 108
|
||||
`define FPGA_IO_SIZE 144
|
||||
|
||||
// Design parameter for FPGA bitstream sizes
|
||||
`define FPGA_SCANCHAIN_SIZE 2304
|
||||
|
@ -20,50 +20,10 @@
|
|||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/HDL/common/skywater_function_verification.v"
|
||||
|
||||
// ------ Include Skywater cell netlists -----
|
||||
// Cells already used pre-PnR
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/or2/sky130_fd_sc_hd__or2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/sdfxtp/sky130_fd_sc_hd__sdfxtp_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dfxtp/sky130_fd_sc_hd__dfxtp_1.v"
|
||||
|
||||
// Cells added due to their use in PnR
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/or2/sky130_fd_sc_hd__or2_0.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/mux2/sky130_fd_sc_hd__mux2_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/conb/sky130_fd_sc_hd__conb_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd1/sky130_fd_sc_hd__dlygate4sd1_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd2/sky130_fd_sc_hd__dlygate4sd2_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlymetal6s2s/sky130_fd_sc_hd__dlymetal6s2s_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlymetal6s6s/sky130_fd_sc_hd__dlymetal6s6s_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_6.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/dlygate4sd3/sky130_fd_sc_hd__dlygate4sd3_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_6.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_12.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/bufinv/sky130_fd_sc_hd__bufinv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinvlp/sky130_fd_sc_hd__clkinvlp_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinvlp/sky130_fd_sc_hd__clkinvlp_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkinv/sky130_fd_sc_hd__clkinv_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_4.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkbuf/sky130_fd_sc_hd__clkbuf_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_8.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/clkdlybuf4s50/sky130_fd_sc_hd__clkdlybuf4s50_2.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_12.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_1.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/buf/sky130_fd_sc_hd__buf_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/PDK/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/bufbuf/sky130_fd_sc_hd__bufbuf_16.v"
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/common/post_pnr_fpga_cells.v"
|
||||
|
||||
// ------ Include fabric top-level netlists -----
|
||||
//`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/FPGA1212_FC_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_top/fpga_top_icv_in_design.pt.v"
|
||||
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/common/post_pnr_scff_test.v"
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
//-------------------------------------------
|
||||
// FPGA Synthesizable Verilog Netlist
|
||||
// Description: Netlist Summary
|
||||
// Author: Xifan TANG
|
||||
// Organization: University of Utah
|
||||
// Date: Fri Nov 20 15:49:05 2020
|
||||
//-------------------------------------------
|
||||
//----- Time scale -----
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
// ------ Include simulation defines -----
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/k4_N8_caravel_io_FPGA_12x12_fdhd_cc/prepnr/verilog_testbench/define_simulation.v"
|
||||
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/HDL/common/skywater_function_verification.v"
|
||||
|
||||
// ------ Include Skywater cell netlists -----
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/common/post_pnr_fpga_cells.v"
|
||||
|
||||
// ------ Include fabric top-level netlists -----
|
||||
//`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/FPGA1212_FC_HD_SKY_PNR/fpga_core/fpga_core_icv_in_design.pt.v"
|
||||
`include "/research/ece/lnis/USERS/DARPA_ERI/Tapeout/Nov2020_Skywater/FPGA1212_FLAT_HD_SKY_PNR/fpga_top/fpga_top_icv_in_design.pt.v"
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "top_module_output_verilog.v"
|
||||
`endif
|
||||
|
||||
`ifdef AUTOCHECKED_SIMULATION
|
||||
`include "/research/ece/lnis/USERS/tang/github/skywater-openfpga/TESTBENCH/k4_N8_caravel_io_FPGA_12x12_fdhd_cc/postpnr/verilog_testbench/top_module_post_pnr_autocheck_top_tb.v"
|
||||
`endif
|
||||
|