diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/v2html_doc.tgz b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/v2html_doc.tgz index b5ab1ab266686faa250d12e6b573122af4be7f58..b29fb20346495e7019a55cf841033762f29a84ad 100644 Binary files a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/v2html_doc.tgz and b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/v2html_doc.tgz differ diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_chip.v b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_chip.v index 7de36974988985bba94c0a35d40813dffd8d4269..1fb254c20f9f0f39e065bece2dc33c57df2ba2a6 100644 --- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_chip.v +++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_chip.v @@ -38,8 +38,6 @@ `include "cmsdk_mcu_defs.v" -`define SYNTHBOOTROM 1 - module cmsdk_mcu_chip #( //----------------------------------------- // CPU options @@ -234,17 +232,17 @@ PAD_VDDIO uPAD_VDDIO_1( .PAD(VDDIO) ); -PAD_VDDIO uPAD_VSSIO_1( +PAD_VSSIO uPAD_VSSIO_1( .PAD(VSSIO) ); // Core power supplies -PAD_VDDIO uPAD_VDD_1( +PAD_VDDSOC uPAD_VDD_1( .PAD(VDD) ); -PAD_VDDIO uPAD_VSS_1( +PAD_VSS uPAD_VSS_1( .PAD(VSS) ); `endif diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_defs.v b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_defs.v index dfb573e84482f04c08a8d1a0185de3ac889bd600..8862c6677f4fd6e2381580298d75276265b2d36a 100644 --- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_defs.v +++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_defs.v @@ -9,6 +9,11 @@ // Copyright © 2021, SoC Labs (www.soclabs.org) //----------------------------------------------------------------------------- +`define BEHAVIORAL_PADS +`define POWER_PINS +`define SYNTHBOOTROM 1 + + //----------------------------------------------------------------------------- // The confidential and proprietary information contained in this file may // only be used by a person authorised under and to the extent permitted diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tb_cmsdk_mcu.v b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tb_cmsdk_mcu.v index 66051056f2f3883e809dc9b965e2db9da94c2939..2d07dad96a674624790385bede92a87497b40c63 100644 --- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tb_cmsdk_mcu.v +++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tb_cmsdk_mcu.v @@ -47,7 +47,11 @@ module tb_cmsdk_mcu; wire [15:0] P0; // Port 0 wire [15:0] P1; // Port 1 - + wire VDDIO; + wire VSSIO; + wire VDD; + wire VSS; + //Debug tester signals wire nTRST; wire TDI; diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tbench_M0.vc b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tbench_M0.vc index f346e8511a864f10fb45d986b3fb2afd7e89c55c..13e0735825a1ff2fb2b0621a461c10b66dcf8eb2 100644 --- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tbench_M0.vc +++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tbench_M0.vc @@ -49,6 +49,7 @@ ../verilog/tb_cmsdk_mcu.v +incdir+../verilog +// ============= GLIB Generic Library path ============= ../../../../../GLIB/pads/verilog/GLIB_PADLIB.v ../../../../../GLIB/mem/verilog/SROM_Ax32.v diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/v2html_M0.vc b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/v2html_M0.vc index 3c7894ec54ed1bfbfc036b065b3201a580b9754c..cf46c0e74938e4036ca7fad9c4bd71f4515573ed 100644 --- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/v2html_M0.vc +++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/v2html_M0.vc @@ -54,6 +54,20 @@ -y ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_debug_tester/verilog +incdir+../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_debug_tester/verilog +// ============= GLIB Generic Library path ============= +../../../../../GLIB/pads/verilog/PAD_INOUT8MA_NOE.v +../../../../../GLIB/pads/verilog/PAD_VDDIO.v +../../../../../GLIB/pads/verilog/PAD_VSSIO.v +../../../../../GLIB/pads/verilog/PAD_VDDSOC.v +../../../../../GLIB/pads/verilog/PAD_VSS.v +../../../../../GLIB/mem/verilog/SROM_Ax32.v + +// ============= IPLIB soclabs IP Library path ============= +../../../../../IPLIB/FT1248_streamio_v1_0/ft1248_streamio_v1_0.v +../../../../../IPLIB/ADPcontrol_v1_0/ADPcontrol_v1_0.v +../../../../../IPLIB/ADPcontrol_v1_0/ADPmanager.v +../verilog/cmsdk_apb_uart_streamio.v + // ============= MCU Module search path ============= -y ../verilog -y ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_timer/verilog @@ -78,15 +92,15 @@ +incdir+../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_watchdog/verilog +incdir+../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/models/memories/ -//// Optional PL230 Micro DMA controller - configure in local ../verilog/pl230_defs.v file -//-y ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog -+incdir+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog -../verilog/pl230_defs.v -../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_ahb_ctrl.v -../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_apb_regs.v -../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_dma_data.v -../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_udma.v -../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_undefs.v +// //// Optional PL230 Micro DMA controller - configure in local ../verilog/pl230_defs.v file +// //-y ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog +// +incdir+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog +// ../verilog/pl230_defs.v +// ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_ahb_ctrl.v +// ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_apb_regs.v +// ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_dma_data.v +// ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_udma.v +// ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_undefs.v // ============= Cortex-M0 Module search path ============= // guts of core not exposed, periphery only diff --git a/GLIB/pads/verilog/PAD_ANALOG.v b/GLIB/pads/verilog/PAD_ANALOG.v new file mode 100644 index 0000000000000000000000000000000000000000..06207e9f1a61a899277941b3187144813a6d14ab --- /dev/null +++ b/GLIB/pads/verilog/PAD_ANALOG.v @@ -0,0 +1,25 @@ +// GLIB_PADLIB.v +//----------------------------------------------------------------------------- +// The confidential and proprietary information contained in this file may +// only be used by a person authorised under and to the extent permitted +// by a subsisting licensing agreement from ARM Limited. +// +// (C) COPYRIGHT 2009-2010 ARM Limited. +// ALL RIGHTS RESERVED +// +// This entire notice must be reproduced on all copies of this file +// and copies of this file may only be made by a person if such person is +// permitted to do so under the terms of a subsisting license agreement +// from ARM Limited. +// +// Revision : $Revision: $ +// +// Release Information : $ $ +//----------------------------------------------------------------------------- + +// VDDISOL +module PAD_ANALOG ( + PAD + ); + inout PAD; +endmodule // PAD_ANALOG diff --git a/GLIB/pads/verilog/PAD_INOUT8MA_NOE.v b/GLIB/pads/verilog/PAD_INOUT8MA_NOE.v new file mode 100644 index 0000000000000000000000000000000000000000..f6220e56f7cf38b3c2efad989a6ee6506f7facea --- /dev/null +++ b/GLIB/pads/verilog/PAD_INOUT8MA_NOE.v @@ -0,0 +1,46 @@ +// GLIB_PADLIB.v +//----------------------------------------------------------------------------- +// The confidential and proprietary information contained in this file may +// only be used by a person authorised under and to the extent permitted +// by a subsisting licensing agreement from ARM Limited. +// +// (C) COPYRIGHT 2009-2010 ARM Limited. +// ALL RIGHTS RESERVED +// +// This entire notice must be reproduced on all copies of this file +// and copies of this file may only be made by a person if such person is +// permitted to do so under the terms of a subsisting license agreement +// from ARM Limited. +// +// Revision : $Revision: $ +// +// Release Information : $ $ +//----------------------------------------------------------------------------- + +module PAD_INOUT8MA_NOE ( + // Inouts + PAD, + // Outputs + O, + // Inputs + I, + NOE + ); + inout PAD; + output I; + input O; + input NOE; + +`ifdef BEHAVIORAL_PADS + assign I = PAD; + assign PAD = ~NOE ? O : 1'bz; +`else + bufif1 #2 (PAD, O, ~NOE); + buf #1 (I, PAD); + always @(PAD) + begin + if (($countdrivers(PAD) > 1) && (PAD === 1'bx)) + $display("%t ++BUS CONFLICT++ : %m", $realtime); + end +`endif // ifdef BEHAVIORAL_PADS +endmodule // PAD_INOUT8MA_NOE diff --git a/GLIB/pads/verilog/PAD_INOUT8MA_OE.v b/GLIB/pads/verilog/PAD_INOUT8MA_OE.v new file mode 100644 index 0000000000000000000000000000000000000000..d5d794422e5787feec0fcb64c1c87654e167ff2c --- /dev/null +++ b/GLIB/pads/verilog/PAD_INOUT8MA_OE.v @@ -0,0 +1,46 @@ +// GLIB_PADLIB.v +//----------------------------------------------------------------------------- +// The confidential and proprietary information contained in this file may +// only be used by a person authorised under and to the extent permitted +// by a subsisting licensing agreement from ARM Limited. +// +// (C) COPYRIGHT 2009-2010 ARM Limited. +// ALL RIGHTS RESERVED +// +// This entire notice must be reproduced on all copies of this file +// and copies of this file may only be made by a person if such person is +// permitted to do so under the terms of a subsisting license agreement +// from ARM Limited. +// +// Revision : $Revision: $ +// +// Release Information : $ $ +//----------------------------------------------------------------------------- + +module PAD_INOUT8MA_OE ( + // Inouts + PAD, + // Outputs + O, + // Inputs + I, + OE + ); + inout PAD; + output I; + input O; + input OE; +`ifdef BEHAVIORAL_PADS + assign I = PAD; + assign PAD = OE ? O : 1'bz; +`else + bufif1 #2 (PAD, O, OE); + buf #1 (I, PAD); + + always @(PAD) + begin + if (($countdrivers(PAD) > 1) && (PAD === 1'bx)) + $display("%t ++BUS CONFLICT++ : %m", $realtime); + end +`endif // ifdef BEHAVIORAL_PADS +endmodule // PAD_INOUT8MA_OE diff --git a/GLIB/pads/verilog/PAD_VDDIO.v b/GLIB/pads/verilog/PAD_VDDIO.v new file mode 100644 index 0000000000000000000000000000000000000000..64581c085f253b36f15d734cd1e8f4ba635b8e59 --- /dev/null +++ b/GLIB/pads/verilog/PAD_VDDIO.v @@ -0,0 +1,24 @@ +// GLIB_PADLIB.v +//----------------------------------------------------------------------------- +// The confidential and proprietary information contained in this file may +// only be used by a person authorised under and to the extent permitted +// by a subsisting licensing agreement from ARM Limited. +// +// (C) COPYRIGHT 2009-2010 ARM Limited. +// ALL RIGHTS RESERVED +// +// This entire notice must be reproduced on all copies of this file +// and copies of this file may only be made by a person if such person is +// permitted to do so under the terms of a subsisting license agreement +// from ARM Limited. +// +// Revision : $Revision: $ +// +// Release Information : $ $ +//----------------------------------------------------------------------------- + +module PAD_VDDIO ( + PAD + ); + inout PAD; +endmodule // PAD_VDDIO diff --git a/GLIB/pads/verilog/PAD_VDDSOC.v b/GLIB/pads/verilog/PAD_VDDSOC.v new file mode 100644 index 0000000000000000000000000000000000000000..bb48fcd3519dd1d24fcc98556bf9d5c61ecd5b76 --- /dev/null +++ b/GLIB/pads/verilog/PAD_VDDSOC.v @@ -0,0 +1,25 @@ +// GLIB_PADLIB.v +//----------------------------------------------------------------------------- +// The confidential and proprietary information contained in this file may +// only be used by a person authorised under and to the extent permitted +// by a subsisting licensing agreement from ARM Limited. +// +// (C) COPYRIGHT 2009-2010 ARM Limited. +// ALL RIGHTS RESERVED +// +// This entire notice must be reproduced on all copies of this file +// and copies of this file may only be made by a person if such person is +// permitted to do so under the terms of a subsisting license agreement +// from ARM Limited. +// +// Revision : $Revision: $ +// +// Release Information : $ $ +//----------------------------------------------------------------------------- + +// core logic supply rails (1V0, 0V) +module PAD_VDDSOC ( + PAD + ); + inout PAD; +endmodule // PAD_VDDSOC diff --git a/GLIB/pads/verilog/PAD_VSS.v b/GLIB/pads/verilog/PAD_VSS.v new file mode 100644 index 0000000000000000000000000000000000000000..ab407e13b77dc478c5bc29a8daffa2be4da7fbb9 --- /dev/null +++ b/GLIB/pads/verilog/PAD_VSS.v @@ -0,0 +1,24 @@ +// GLIB_PADLIB.v +//----------------------------------------------------------------------------- +// The confidential and proprietary information contained in this file may +// only be used by a person authorised under and to the extent permitted +// by a subsisting licensing agreement from ARM Limited. +// +// (C) COPYRIGHT 2009-2010 ARM Limited. +// ALL RIGHTS RESERVED +// +// This entire notice must be reproduced on all copies of this file +// and copies of this file may only be made by a person if such person is +// permitted to do so under the terms of a subsisting license agreement +// from ARM Limited. +// +// Revision : $Revision: $ +// +// Release Information : $ $ +//----------------------------------------------------------------------------- + +module PAD_VSS ( + PAD + ); + inout PAD; +endmodule // PAD_VSS diff --git a/GLIB/pads/verilog/PAD_VSSIO.v b/GLIB/pads/verilog/PAD_VSSIO.v new file mode 100644 index 0000000000000000000000000000000000000000..e27e9d838bf8bdc3c46ef1dc72c1d39d794c9b00 --- /dev/null +++ b/GLIB/pads/verilog/PAD_VSSIO.v @@ -0,0 +1,25 @@ +// GLIB_PADLIB.v +//----------------------------------------------------------------------------- +// The confidential and proprietary information contained in this file may +// only be used by a person authorised under and to the extent permitted +// by a subsisting licensing agreement from ARM Limited. +// +// (C) COPYRIGHT 2009-2010 ARM Limited. +// ALL RIGHTS RESERVED +// +// This entire notice must be reproduced on all copies of this file +// and copies of this file may only be made by a person if such person is +// permitted to do so under the terms of a subsisting license agreement +// from ARM Limited. +// +// Revision : $Revision: $ +// +// Release Information : $ $ +//----------------------------------------------------------------------------- + +module PAD_VSSIO ( + PAD + ); + inout PAD; +endmodule // PAD_VSSIO +