diff venus/src/core/core.v @ 9:3ed0f7a9c489

Venus: first version of Verilog for the Calypso core
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 19 Nov 2021 05:58:21 +0000
parents
children 5ee03a306da3
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/venus/src/core/core.v	Fri Nov 19 05:58:21 2021 +0000
@@ -0,0 +1,231 @@
+/*
+ * This Verilog module encapsulates the Calypso chipset core part
+ * of our Venus development board.
+ */
+
+module core (GND, VBAT1, VBAT2, VBAT3, VSIM, Vio,
+	     PWON, RPWON, nTESTRESET, ON_nOFF,
+	     TDI, TDO, TCK, TMS,
+	     MCU_A, MCU_D, MCU_RnW, MCU_nFWE, MCU_nFOE,
+	     EXT_nCS3, EXT_nCS4,
+	     SCLK, SDO, SDI_SDA, nSCS0_SCL, nSCS1,
+	     TX_IRDA, RX_IRDA, TXIR_IRDA, RXIR_IRDA, SD_IRDA,
+	     TX_MODEM, RX_MODEM, RTS_MODEM, CTS_MODEM, DSR_LPG,
+	     MCSI_TXD, MCSI_RXD, MCSI_CLK, MCSI_FSYNCH,
+	     KBC, KBR, BU_PWT, LT_PWL,
+	     GPIO0, GPIO1, GPIO2, GPIO3, GPIO4, GPIO6, GPIO7_RESETOUT,
+	     GPIO8, GPIO13,
+	     ADIN1, ADIN2, ADIN3, DAC,
+	     AUXI, AUXON, AUXOP, EARN, EARP, HSMICBIAS, HSMICP, HSO,
+	     MICBIAS, MICIN, MICIP,
+	     LED_A, LED_B, LED_C,
+	     ICTL, PCHG, VBATS, VCCS, VCHG,
+	     SIM_IO, SIM_CLK, SIM_RST, ANTENNA);
+
+input GND, VBAT1, VBAT2, VBAT3;
+output VSIM, Vio;
+
+input PWON, RPWON, nTESTRESET;
+output ON_nOFF;
+
+input TDI, TCK, TMS;
+output TDO;
+
+output [22:0] MCU_A;
+inout [15:0] MCU_D;
+output MCU_RnW, MCU_nFWE, MCU_nFOE;
+output EXT_nCS3, EXT_nCS4;
+
+output SCLK, SDO, nSCS1;
+inout SDI_SDA, nSCS0_SCL;
+
+output TX_IRDA, TXIR_IRDA, SD_IRDA, TX_MODEM, RTS_MODEM;
+input RX_IRDA, RXIR_IRDA, RX_MODEM, CTS_MODEM;
+inout DSR_LPG;
+
+output MCSI_TXD;
+input MCSI_RXD;
+inout MCSI_CLK, MCSI_FSYNCH;
+
+output [4:0] KBC;
+input [4:0] KBR;
+output BU_PWT, LT_PWL;
+
+inout GPIO0, GPIO1, GPIO2, GPIO3, GPIO4, GPIO6, GPIO7_RESETOUT, GPIO8, GPIO13;
+
+input ADIN1, ADIN2, ADIN3;
+output DAC;
+
+input AUXI;
+output AUXON, AUXOP;
+output EARN, EARP;
+output HSMICBIAS, HSO;
+input HSMICP;
+output MICBIAS;
+input MICIN, MICIP;
+
+output LED_A, LED_B, LED_C;
+
+output ICTL, PCHG;
+input VBATS, VCCS, VCHG;
+
+output SIM_CLK, SIM_RST;
+inout SIM_IO;
+inout ANTENNA;
+
+/* wires between baseband and RF */
+wire Clock_26MHz_RF_out, Clock_26MHz_DBB_in;
+wire Analog_IM, Analog_IP, Analog_QM, Analog_QP;
+wire AFC, APC;
+wire TCXOEN, RFEN, TSPCLK, TSPDO, TSPEN_Rita;
+wire [11:0] TSPACT;
+wire ADIN4;
+
+/* wires between baseband and memory */
+wire Vflash, Vsram;
+wire MCU_FDP, MCU_nBLE, MCU_nBHE;
+wire INT_nCS0, INT_nCS1, INT_nCS2;
+
+/* instantiate the blocks! */
+
+baseband bb (.GND(GND),
+	     .VBAT(VBAT1),
+	     .VSIM(VSIM),
+	     .Vio(Vio),
+	     .Vflash(Vflash),
+	     .Vsram(Vsram),
+	     .PWON(PWON),
+	     .RPWON(RPWON),
+	     .nTESTRESET(nTESTRESET),
+	     .ON_nOFF(ON_nOFF),
+	     .CLKTCXO_IN(Clock_26MHz_DBB_in),
+	     .TDI(TDI),
+	     .TDO(TDO),
+	     .TCK(TCK),
+	     .TMS(TMS),
+	     .MCU_A(MCU_A),
+	     .MCU_D(MCU_D),
+	     .MCU_RnW(MCU_RnW),
+	     .MCU_nFWE(MCU_nFWE),
+	     .MCU_nFOE(MCU_nFOE),
+	     .MCU_FDP(MCU_FDP),
+	     .MCU_nBLE(MCU_nBLE),
+	     .MCU_nBHE(MCU_nBHE),
+	     .MCU_nCS[0](INT_nCS0),
+	     .MCU_nCS[1](INT_nCS1),
+	     .MCU_nCS[2](INT_nCS2),
+	     .MCU_nCS[3](EXT_nCS3),
+	     .MCU_nCS[4](EXT_nCS4),
+	     .SCLK(SCLK),
+	     .SDO(SDO),
+	     .SDI_SDA(SDI_SDA),
+	     .nSCS0_SCL(nSCS0_SCL),
+	     .nSCS1(nSCS1),
+	     .TX_IRDA(TX_IRDA),
+	     .RX_IRDA(RX_IRDA),
+	     .TXIR_IRDA(TXIR_IRDA),
+	     .RXIR_IRDA(RXIR_IRDA),
+	     .SD_IRDA(SD_IRDA),
+	     .TX_MODEM(TX_MODEM),
+	     .RX_MODEM(RX_MODEM),
+	     .RTS_MODEM(RTS_MODEM),
+	     .CTS_MODEM(CTS_MODEM),
+	     .DSR_LPG(DSR_LPG),
+	     .MCSI_TXD(MCSI_TXD),
+	     .MCSI_RXD(MCSI_RXD),
+	     .MCSI_CLK(MCSI_CLK),
+	     .MCSI_FSYNCH(MCSI_FSYNCH),
+	     .KBC(KBC),
+	     .KBR(KBR),
+	     .BU_PWT(BU_PWT),
+	     .LT_PWL(LT_PWL),
+	     .GPIO0(GPIO0),
+	     .GPIO1(GPIO1),
+	     .GPIO2(GPIO2),
+	     .GPIO3(GPIO3),
+	     .GPIO4(GPIO4),
+	     .GPIO6(GPIO6),
+	     .GPIO7_RESETOUT(GPIO7_RESETOUT),
+	     .GPIO8(GPIO8),
+	     .GPIO13(GPIO13),
+	     .ADIN1(ADIN1),
+	     .ADIN2(ADIN2),
+	     .ADIN3(ADIN3),
+	     .ADIN4(ADIN4),
+	     .DAC(DAC),
+	     .AUXI(AUXI),
+	     .AUXON(AUXON),
+	     .AUXOP(AUXOP),
+	     .EARN(EARN),
+	     .EARP(EARP),
+	     .HSMICBIAS(HSMICBIAS),
+	     .HSMICP(HSMICP),
+	     .HSO(HSO),
+	     .MICBIAS(MICBIAS),
+	     .MICIN(MICIN),
+	     .MICIP(MICIP),
+	     .LED_A(LED_A),
+	     .LED_B(LED_B),
+	     .LED_C(LED_C),
+	     .ICTL(ICTL),
+	     .PCHG(PCHG),
+	     .VBATS(VBATS),
+	     .VCCS(VCCS),
+	     .VCHG(VCHG),
+	     .SIM_IO(SIM_IO),
+	     .SIM_CLK(SIM_CLK),
+	     .SIM_RST(SIM_RST),
+	     .Analog_IM(Analog_IM),
+	     .Analog_IP(Analog_IP),
+	     .Analog_QM(Analog_QM),
+	     .Analog_QP(Analog_QP),
+	     .AFC(AFC),
+	     .APC(APC),
+	     .TCXOEN(TCXOEN),
+	     .RFEN(RFEN),
+	     .TSPCLK(TSPCLK),
+	     .TSPDO(TSPDO),
+	     .TSPEN_Rita(TSPEN_Rita),
+	     .TSPACT(TSPACT)
+	);
+
+memory mem (.GND(GND),
+	    .Vflash(Vflash),
+	    .Vsram(Vsram),
+	    .MCU_A(MCU_A[22:1]),
+	    .MCU_D(MCU_D[15:0]),
+	    .MCU_nRD(MCU_nFOE),
+	    .MCU_nWR(MCU_RnW),
+	    .MCU_nBHE(MCU_nBHE),
+	    .MCU_nBLE(MCU_nBLE),
+	    .Flash_RST(MCU_FDP),
+	    .CS_flash1(INT_nCS0),
+	    .CS_RAM(INT_nCS1)
+	);
+
+rf_section rf  (.GND(GND),
+		.VBAT_REG(VBAT2),
+		.VBAT_PA(VBAT3),
+		.Vio(Vio),
+		.Analog_IM(Analog_IM),
+		.Analog_IP(Analog_IP),
+		.Analog_QM(Analog_QM),
+		.Analog_QP(Analog_QP),
+		.AFC(AFC),
+		.APC(APC),
+		.TCXOEN(TCXOEN),
+		.RFEN(RFEN),
+		.TSPCLK(TSPCLK),
+		.TSPDO(TSPDO),
+		.TSPEN_Rita(TSPEN_Rita),
+		.TSPACT(TSPACT),
+		.Clock_out_to_DBB(Clock_26MHz_RF_out),
+		.RTEMP_VTEST(ADIN4),
+		.ANTENNA(ANTENNA)
+	);
+
+clock_rf2dbb clock_rf2dbb (.In(Clock_26MHz_RF_out),
+			   .Out(Clock_26MHz_DBB_in)
+		);
+
+endmodule