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

Subversion Repositories t6507lp

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 254 to Rev 255
    Reverse comparison

Rev 254 → Rev 255

/t6507lp/trunk/rtl/verilog/stubs.v
44,16 → 44,55
 
`include "timescale.v"
 
module ICP (PI, PO, PAD, Y);
input PAD;
module ICP (PAD, PI, GND5O, GND5R, VDD5O, VDD5R, CLAMPC, PO, Y);
input PAD;
input PI;
input GND5O;
input GND5R;
input VDD5O;
input VDD5R;
input CLAMPC;
output PO;
output Y;
output PO;
endmodule
 
module BBT16P (EN, PAD, A);
input A;
input EN;
output PAD;
module BT4P (A, EN, GND5O, GND5R, VDD5O, VDD5R, CLAMPC, PAD);
input A;
input EN;
input GND5O;
input GND5R;
input VDD5O;
input VDD5R;
input CLAMPC;
output PAD;
endmodule
 
module CORNERCLMP (GND5O, GND5R, VDD5O, VDD5R, CLAMPC);
input CLAMPC;
input VDD5O;
input VDD5R;
input GND5O;
input GND5R;
endmodule
 
module GND5ALLPADP (VDD5O, VDD5R, CLAMPC, GND);
input CLAMPC;
input VDD5O;
input VDD5R;
input GND;
endmodule
 
module VDD5ALLPADP (GND5O, GND5R, CLAMPC, VDD);
input CLAMPC;
input GND5O;
input GND5R;
input VDD;
endmodule
 
module FILLERP_110 (GND5O, GND5R, VDD5O, VDD5R, CLAMPC);
input CLAMPC;
input VDD5O;
input VDD5R;
input GND5O;
input GND5R;
endmodule
/t6507lp/trunk/rtl/verilog/t6507lp_io.v
1,16 → 1,13
////////////////////////////////////////////////////////////////////////////
//// ////
//// T6507LP IP Core ////
//// t6507 IP Core ////
//// ////
//// This file is part of the T6507LP project ////
//// http://www.opencores.org/cores/t6507lp/ ////
//// This file is part of the t6507 project ////
//// http://www.opencores.org/cores/t2600/ ////
//// ////
//// Description ////
//// 6507 io wrapper ////
//// I/O wrapper for the 6507 processor ////
//// ////
//// TODO: ////
//// - Nothing ////
//// ////
//// Author(s): ////
//// - Gabriel Oshiro Zardo, gabrieloshiro@gmail.com ////
//// - Samuel Nascimento Pagliarini (creep), snpagliarini@gmail.com ////
44,8 → 41,7
 
`include "timescale.v"
`include "stubs.v"
 
module t6507lp_io(vdd, gnd, clk, reset_n, data_in, rw_mem, data_out, address, clkIO, reset_nIO, data_inIO, rw_memIO, data_outIO, addressIO);
module t6507lp_io(clk, reset_n, data_in, rw_mem, data_out, address);
parameter [3:0] DATA_SIZE = 4'd8;
parameter [3:0] ADDR_SIZE = 4'd13;
 
52,230 → 48,495
localparam [3:0] DATA_SIZE_ = DATA_SIZE - 4'b0001;
localparam [3:0] ADDR_SIZE_ = ADDR_SIZE - 4'b0001;
 
input vdd;
input gnd;
 
input clk;
output clkIO;
wire clkIO;
 
input reset_n;
output reset_nIO;
wire reset_nIO;
 
input [DATA_SIZE_:0] data_in;
output [DATA_SIZE_:0] data_inIO;
reg [DATA_SIZE_:0] data_inIO;
 
input rw_mem;
output rw_memIO;
output rw_mem;
wire rw_memIO;
 
input [DATA_SIZE_:0] data_out;
output [DATA_SIZE_:0] data_outIO;
output [DATA_SIZE_:0] data_out;
reg [DATA_SIZE_:0] data_outIO;
 
input [ADDR_SIZE_:0] address;
output [ADDR_SIZE_:0] addressIO;
output [ADDR_SIZE_:0] address;
reg [ADDR_SIZE_:0] addressIO;
 
// the ICP cell format is PAD PI Y PO
wire clampc;
wire pipo1, pipo2, pipo3, pipo4, pipo5, pipo6, pipo7, pipo8, pipo9, chainfinal;
 
wire muxed;
 
t6507lp t6507lp( //core
.clk (clkIO),
.reset_n (reset_nIO),
.data_in (data_inIO),
.rw_mem (rw_memIO),
.data_out (data_outIO),
.address (addressIO)
);
 
assign muxed = (reset_nIO == 0) ? chainfinal : rw_memIO;
 
wire dummy_vdd, dummy_gnd, dummy_clampc;
 
ICP clk_pad(
.PI (gnd),
.PO (gnd),
.PAD (clk),
.PAD (clk),
.PI (pipo9),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PO (chain_final),
.Y (clkIO)
);
 
ICP reset_n_pad(
.PI (gnd),
.PO (gnd),
.PAD (reset_n),
.PAD (reset_n),
.PI (pipo8),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PO (pipo9),
.Y (reset_nIO)
);
 
ICP data_in_pad0(
.PI (gnd),
.PO (gnd),
.PAD (data_in[0]),
.PAD (data_in[0]),
.PI (pipo7),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PO (pipo8),
.Y (data_inIO[0])
);
 
ICP data_in_pad1(
.PI (gnd),
.PO (gnd),
.PAD (data_in[1]),
.PAD (data_in[1]),
.PI (pipo6),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PO (pipo7),
.Y (data_inIO[1])
);
 
ICP data_in_pad2(
.PI (gnd),
.PO (gnd),
.PAD (data_in[2]),
.PAD (data_in[2]),
.PI (pipo5),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PO (pipo6),
.Y (data_inIO[2])
);
 
ICP data_in_pad3(
.PI (gnd),
.PO (gnd),
.PAD (data_in[3]),
.PAD (data_in[3]),
.PI (pipo4),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PO (pipo5),
.Y (data_inIO[3])
);
 
ICP data_in_pad4(
.PI (gnd),
.PO (gnd),
.PAD (data_in[4]),
.PAD (data_in[4]),
.PI (pipo3),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PO (pipo4),
.Y (data_inIO[4])
);
 
ICP data_in_pad5(
.PI (gnd),
.PO (gnd),
.PAD (data_in[5]),
.PAD (data_in[5]),
.PI (pipo2),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PO (pipo3),
.Y (data_inIO[5])
);
 
ICP data_in_pad6(
.PI (gnd),
.PO (gnd),
.PAD (data_in[6]),
.PAD (data_in[6]),
.PI (pipo1),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PO (pipo2),
.Y (data_inIO[6])
);
 
ICP data_in_pad7(
.PI (gnd),
.PO (gnd),
.PAD (data_in[7]),
.PAD (data_in[7]),
.PI (dummy_vdd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PO (pipo1),
.Y (data_inIO[7])
);
 
BBT16P rw_mem_pad(
.EN (gnd),
.PAD (rw_memIO),
.A (rw_mem)
BT4P rw_mem_pad(
.A (muxed),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (rw_mem)
);
 
BBT16P data_out_pad0(
.EN (gnd),
.PAD (data_outIO[0]),
.A (data_out[0])
BT4P data_out_pad0(
.A (data_outIO[0]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (data_out[0])
);
 
BBT16P data_out_pad1(
.EN (gnd),
.PAD (data_outIO[1]),
.A (data_out[1])
BT4P data_out_pad1(
.A (data_outIO[1]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (data_out[1])
);
 
BBT16P data_out_pad2(
.EN (gnd),
.PAD (data_outIO[2]),
.A (data_out[2])
BT4P data_out_pad2(
.A (data_outIO[2]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (data_out[2])
);
 
BBT16P data_out_pad3(
.EN (gnd),
.PAD (data_outIO[3]),
.A (data_out[3])
BT4P data_out_pad3(
.A (data_outIO[3]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (data_out[3])
);
 
BBT16P data_out_pad4(
.EN (gnd),
.PAD (data_outIO[4]),
.A (data_out[4])
BT4P data_out_pad4(
.A (data_outIO[4]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (data_out[4])
);
 
BBT16P data_out_pad5(
.EN (gnd),
.PAD (data_outIO[5]),
.A (data_out[5])
BT4P data_out_pad5(
.A (data_outIO[5]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (data_out[5])
);
 
BBT16P data_out_pad6(
.EN (gnd),
.PAD (data_outIO[6]),
.A (data_out[6])
BT4P data_out_pad6(
.A (data_outIO[6]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (data_out[6])
);
 
BBT16P data_out_pad7(
.EN (gnd),
.PAD (data_outIO[7]),
.A (data_out[7])
BT4P data_out_pad7(
.A (data_outIO[7]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (data_out[7])
);
 
BBT16P adress_pad0(
.EN (gnd),
.PAD (addressIO[0]),
.A (address[0])
BT4P address_pad0(
.A (addressIO[0]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[0])
);
 
BBT16P adress_pad1(
.EN (gnd),
.PAD (addressIO[1]),
.A (address[1])
BT4P address_pad1(
.A (addressIO[1]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[1])
);
BT4P address_pad2(
.A (addressIO[2]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[2])
);
BT4P address_pad3(
.A (addressIO[3]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[3])
);
BT4P address_pad4(
.A (addressIO[4]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[4])
);
BT4P address_pad5(
.A (addressIO[5]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[5])
);
BT4P address_pad6(
.A (addressIO[6]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[6])
);
BT4P address_pad7(
.A (addressIO[7]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[7])
);
BT4P address_pad8(
.A (addressIO[8]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[8])
);
BT4P address_pad9(
.A (addressIO[9]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[9])
);
BT4P address_pad10(
.A (addressIO[10]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[10])
);
BT4P address_pad11(
.A (addressIO[11]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[11])
);
 
BBT16P adress_pad2(
.EN (gnd),
.PAD (addressIO[2]),
.A (address[2])
BT4P address_pad12(
.A (addressIO[12]),
.EN (dummy_gnd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.CLAMPC (dummy_clampc),
.PAD (address[12])
);
 
BBT16P adress_pad3(
.EN (gnd),
.PAD (addressIO[3]),
.A (address[3])
CORNERCLMP left_up_pad (
.CLAMPC (dummy_clampc),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd)
);
 
BBT16P adress_pad4(
.EN (gnd),
.PAD (addressIO[4]),
.A (address[4])
CORNERCLMP left_down_pad (
.CLAMPC (dummy_clampc),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd)
);
 
BBT16P adress_pad5(
.EN (gnd),
.PAD (addressIO[5]),
.A (address[5])
CORNERCLMP right_up_pad (
.CLAMPC (dummy_clampc),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd)
);
 
BBT16P adress_pad6(
.EN (gnd),
.PAD (addressIO[6]),
.A (address[6])
CORNERCLMP right_down_pad (
.CLAMPC (dummy_clampc),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd)
);
 
BBT16P adress_pad7(
.EN (gnd),
.PAD (addressIO[7]),
.A (address[7])
GND5ALLPADP gnd_pad_left (
.CLAMPC (dummy_clampc),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.GND (dummy_gnd)
);
 
BBT16P adress_pad8(
.EN (gnd),
.PAD (addressIO[8]),
.A (address[8])
GND5ALLPADP gnd_pad_right (
.CLAMPC (dummy_clampc),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.GND (dummy_gnd)
);
 
BBT16P adress_pad9(
.EN (gnd),
.PAD (addressIO[9]),
.A (address[9])
GND5ALLPADP gnd_pad_up (
.CLAMPC (dummy_clampc),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.GND (dummy_gnd)
);
 
BBT16P adress_pad10(
.EN (gnd),
.PAD (addressIO[10]),
.A (address[10])
GND5ALLPADP gnd_pad_down (
.CLAMPC (dummy_clampc),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.GND (dummy_gnd)
);
 
BBT16P adress_pad11(
.EN (gnd),
.PAD (addressIO[11]),
.A (address[11])
VDD5ALLPADP vdd_pad_left (
.CLAMPC (dummy_clampc),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD (dummy_vdd)
);
 
BBT16P adress_pad12(
.EN (gnd),
.PAD (addressIO[12]),
.A (address[12])
VDD5ALLPADP vdd_pad_right (
.CLAMPC (dummy_clampc),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD (dummy_vdd)
);
 
endmodule
VDD5ALLPADP vdd_pad_up (
.CLAMPC (dummy_clampc),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD (dummy_vdd)
);
 
VDD5ALLPADP vdd_pad_down (
.CLAMPC (dummy_clampc),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd),
.VDD (dummy_vdd)
);
FILLERP_110 filler0 (
.CLAMPC (dummy_clampc),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd)
);
 
FILLERP_110 filler1 (
.CLAMPC (dummy_clampc),
.VDD5O (dummy_vdd),
.VDD5R (dummy_vdd),
.GND5O (dummy_gnd),
.GND5R (dummy_gnd)
);
endmodule

powered by: WebSVN 2.1.0

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