From 3479b3013ec567fe451e25c018a1e6609304f072 Mon Sep 17 00:00:00 2001 From: Pavel Štemberk Date: Sat, 22 Feb 2014 17:45:15 +0100 Subject: Add support for pic24f PIC24F04KA200, PIC24F04KA201 PIC24F16KL402, PIC24F08KL402, PIC24F16KL401, PIC24F08KL401, PIC24F08KL302, PIC24F08KL301, PIC24F08KL201, PIC24F08KL200, PIC24F04KL101, PIC24F04KL100 Signed-off-by: Michael Buesch --- .../microchip16dip28/microchip16dip28.v | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 libtoprammer/fpga/src/microchip16/microchip16dip28/microchip16dip28.v (limited to 'libtoprammer/fpga/src/microchip16/microchip16dip28/microchip16dip28.v') diff --git a/libtoprammer/fpga/src/microchip16/microchip16dip28/microchip16dip28.v b/libtoprammer/fpga/src/microchip16/microchip16dip28/microchip16dip28.v new file mode 100644 index 0000000..f359226 --- /dev/null +++ b/libtoprammer/fpga/src/microchip16/microchip16dip28/microchip16dip28.v @@ -0,0 +1,90 @@ +/* + * TOP2049 Open Source programming suite + * + * Microchip header file for 16 bit MCUs + * FPGA Main bottomhalf implementation + * + * Copyright (c) 2013 Pavel Stemberk + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +`include "common.vh" +`include "microchip16.vh" + +`define DUT_SDIO 35 + +`define DELAY42NSEC(D42NSEC) __delay_count <= (D42NSEC) - 1;//41.666 ns wait cycle if D42NSEC = 1 + +`define CMD_SENDSIXINSTR 0 +`define CMD_SENDREGOUTINSTR 1 +`define CMD_ENTERPM 2 +`define CMD_SEND9SIXINSTR 3 +`define ENTERPM_SEQ 32'h4D434851 + +`ALL_WITHOUT_ZIF(microchip16dip28, 32'hDF02, 1) + `ZIF_UNUSED(1) + `ZIF_UNUSED(2) + `ZIF_UNUSED(3) + `ZIF_UNUSED(4) + `ZIF_UNUSED(5) + `ZIF_UNUSED(6) + `ZIF_UNUSED(7) + `ZIF_UNUSED(8) + `ZIF_UNUSED(9) + `ZIF_UNUSED(10) + `ZIF_UNUSED(11) + `ZIF_UNUSED(12) + `ZIF_UNUSED(13) + `ZIF_UNUSED(14) + `ZIF_UNUSED(15) + bufif0(zif[16], low, low); /* GND */ + bufif0(zif[17], high, low); /* VCC */ + `ZIF_UNUSED(18) + `ZIF_UNUSED(19) + `ZIF_UNUSED(20) + `ZIF_UNUSED(21) + `ZIF_UNUSED(22) + `ZIF_UNUSED(23) + `ZIF_UNUSED(24) + `ZIF_UNUSED(25) + `ZIF_UNUSED(26) + `ZIF_UNUSED(27) + `ZIF_UNUSED(28) + `ZIF_UNUSED(29) + `ZIF_UNUSED(30) + `ZIF_UNUSED(31) + bufif0(zif[32], low, dut_vpp); /* VPP/Reset */ + `ZIF_UNUSED(33) + `ZIF_UNUSED(34) + bufif0(zif[35], dut_sdio_value, !dut_sdio_driven); /* SDO - PGED1 */ + bufif0(zif[36], dut_sci, low); /* SCI - PGEC1 */ + `ZIF_UNUSED(37) + `ZIF_UNUSED(38) + `ZIF_UNUSED(39) + `ZIF_UNUSED(40) + `ZIF_UNUSED(41) + `ZIF_UNUSED(42) + `ZIF_UNUSED(43) + `ZIF_UNUSED(44) + `ZIF_UNUSED(45) + `ZIF_UNUSED(46) + `ZIF_UNUSED(47) + `ZIF_UNUSED(48) + +`BOTTOMHALF_END + +/* vim: filetype=verilog:shiftwidth=8:tabstop=8:softtabstop=8 + */ -- cgit v1.2.3