diff --git a/Cortex-M0/nanosoc/systems/mcu/rtl_sim/makefile b/Cortex-M0/nanosoc/systems/mcu/rtl_sim/makefile index 8dcf1b8710a50d80181d9eb88e723e0cadffd3e1..f1d25a33fb23fff74a3fc3a8c1a124c7f574e8c8 100644 --- a/Cortex-M0/nanosoc/systems/mcu/rtl_sim/makefile +++ b/Cortex-M0/nanosoc/systems/mcu/rtl_sim/makefile @@ -77,7 +77,7 @@ endif # Select Verilog Command File based on CPU type ifeq ($(CPU_PRODUCT),CORTEX_M0) # For Cortex-M0 product users - TBENCH_VC += -f $(PROJECT_DIR)/flist/cortex-m0/cortex-m0_ip.flist +# TBENCH_VC += -f $(PROJECT_DIR)/flist/cortex-m0/cortex-m0_ip.flist DEFINES_VC = +define+CORTEX_M0 +define+USE_TARMAC endif @@ -88,7 +88,7 @@ endif ifeq ($(DMA_PRODUCT),DMA_230) # For Cortex-M0 product users - TBENCH_VC += -f $(PROJECT_DIR)/flist/dma-230/pl230_ip.flist +# TBENCH_VC += -f $(PROJECT_DIR)/flist/dma-230/pl230_ip.flist endif TBENCH_VC += -f $(PROJECT_DIR)/flist/project/system.flist @@ -104,7 +104,7 @@ ACCELERATOR_VC = #ADP command File # ADP_FILE ?= $(SOC_TOP_DIR)/accelerator-wrapper/simulate/stimulus/adp_hash_stim.cmd -ADP_FILE ?= $(NANOSOC_TECH_DIR)/Cortex-M0/nanosoc/systems/mcu/rtl_sim/ +ADP_FILE ?= $(PROJECT_DIR)/system/stimulus/adp_hash_stim.cmd ADP_PATH := $(shell realpath $(ADP_FILE)) ADP_OPTIONS := -define ADP_FILE=\"$(ADP_PATH)\" @@ -191,25 +191,25 @@ all_vcs : compile_vcs bootrom debugtester compile_xm : @echo ADP_FILE @echo $(ADP_OPTIONS) - xmprep +overwrite $(DEFINES_VC) $(XM_VC_OPTIONS) +debug | tee compile_xm.log - xmvlog -work worklib -f xmvlog.args | tee -a compile_xm.log - xmelab -mess -f xmelab.args -access +r | tee -a compile_xm.log + xmprep +overwrite $(XM_VC_OPTIONS) $(DEFINES_VC) +debug -timescale 1ps/1ps -top tb_nanosoc | tee compile_xm.log + xmvlog -work worklib -f xmvlog_sv.args -f xmvlog_ver.args -sv | tee -a compile_xm.log + xmelab -mess -f xmelab.args -access +r | tee -a compile_xm.log # Note : If coverage is required, you can add -coverage all to xmelab # Run simulation in batch mode -run_xm : code +run_xm : code compile_xm @if [ ! -d logs ] ; then \ mkdir logs; \ fi @echo run > run.tcl.tmp @echo exit >> run.tcl.tmp @mv run.tcl.tmp run.tcl - xmsim $(XMSIM_OPTIONS) -input run.tcl | tee logs/run_$(TESTNAME).log ; - @make verify + xmsim $(XMSIM_OPTIONS) -input run.tcl | tee logs/run_$(TESTNAME).log ; + # @make verify # Run simulation in interactive mode -sim_xm : code +sim_xm : code compile_xm xmsim -gui $(XMSIM_OPTIONS) @make verify diff --git a/Cortex-M0/nanosoc/systems/mcu/verilog/tb_nanosoc.v b/Cortex-M0/nanosoc/systems/mcu/verilog/tb_nanosoc.v index aa42a2de7ad00de44e6b5f8bd9b8870a9a0e3140..6515d988f78d257eb4e6dee5afe9632b03cb86ab 100644 --- a/Cortex-M0/nanosoc/systems/mcu/verilog/tb_nanosoc.v +++ b/Cortex-M0/nanosoc/systems/mcu/verilog/tb_nanosoc.v @@ -6,7 +6,7 @@ // // David Flynn (d.w.flynn@soton.ac.uk) // -// Copyright � 2021-3, SoC Labs (www.soclabs.org) +// Copyright � 2021-3, SoC Labs (www.soclabs.org) //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- @@ -37,7 +37,7 @@ // `timescale 1ns/1ps -module tb_cmsdk_mcu; +module tb_nanosoc; wire XTAL1; // crystal pin 1 wire XTAL2; // crystal pin 2 @@ -80,6 +80,13 @@ module tb_cmsdk_mcu; localparam BE=0; `define ARM_CMSDK_INCLUDE_DEBUG_TESTER 1 +`ifdef ADP_FILE + localparam ADP_FILENAME=`ADP_FILE; +`else + localparam ADP_FILENAME="adp.cmd"; +`endif + + SROM_Ax32 #(.ADDRWIDTH (8), .filename ("bootloader.hex"), @@ -260,7 +267,7 @@ wire rxd8_valid; wire [7:0] rxd8_data ; axi_streamio8_txd_from_file - #(.TXDFILENAME("adp.cmd")) + #(.TXDFILENAME(ADP_FILENAME)) u_axi_streamio8_txd_from_file ( .aclk (XTAL1), @@ -588,33 +595,33 @@ ft1248x1_track // Tracking AES logging support // -------------------------------------------------------------------------------- -`define AES_PATH u_nanosoc_chip_pads.u_nanosoc_chip.u_exp_aes128 - - aes128_log_to_file #(.FILENAME("aes128.log"),.TIMESTAMP(1)) - u_aes_log_to_file ( - .ahb_hclk (`AES_PATH.ahb_hclk ), - .ahb_hresetn (`AES_PATH.ahb_hresetn ), - .ahb_hsel (`AES_PATH.ahb_hsel ), - .ahb_haddr16 (`AES_PATH.ahb_haddr16 ), - .ahb_htrans (`AES_PATH.ahb_htrans ), - .ahb_hwrite (`AES_PATH.ahb_hwrite ), - .ahb_hsize (`AES_PATH.ahb_hsize ), - .ahb_hprot (`AES_PATH.ahb_hprot ), - .ahb_hwdata (`AES_PATH.ahb_hwdata ), - .ahb_hready (`AES_PATH.ahb_hready ), - .ahb_hrdata (`AES_PATH.ahb_hrdata ), - .ahb_hreadyout (`AES_PATH.ahb_hreadyout ), - .ahb_hresp (`AES_PATH.ahb_hresp ), - .drq_ipdma128 (`AES_PATH.drq_ipdma128 ), - .dlast_ipdma128 (`AES_PATH.dlast_ipdma128), - .drq_opdma128 (`AES_PATH.drq_opdma128 ), - .dlast_opdma128 (`AES_PATH.dlast_opdma128), - .irq_key128 (`AES_PATH.irq_key128 ), - .irq_ip128 (`AES_PATH.irq_ip128 ), - .irq_op128 (`AES_PATH.irq_op128 ), - .irq_error (`AES_PATH.irq_error ), - .irq_merged (`AES_PATH.irq_merged ) - ); +// `define AES_PATH u_nanosoc_chip_pads.u_nanosoc_chip.u_exp_aes128 + +// aes128_log_to_file #(.FILENAME("aes128.log"),.TIMESTAMP(1)) +// u_aes_log_to_file ( +// .ahb_hclk (`AES_PATH.ahb_hclk ), +// .ahb_hresetn (`AES_PATH.ahb_hresetn ), +// .ahb_hsel (`AES_PATH.ahb_hsel ), +// .ahb_haddr16 (`AES_PATH.ahb_haddr16 ), +// .ahb_htrans (`AES_PATH.ahb_htrans ), +// .ahb_hwrite (`AES_PATH.ahb_hwrite ), +// .ahb_hsize (`AES_PATH.ahb_hsize ), +// .ahb_hprot (`AES_PATH.ahb_hprot ), +// .ahb_hwdata (`AES_PATH.ahb_hwdata ), +// .ahb_hready (`AES_PATH.ahb_hready ), +// .ahb_hrdata (`AES_PATH.ahb_hrdata ), +// .ahb_hreadyout (`AES_PATH.ahb_hreadyout ), +// .ahb_hresp (`AES_PATH.ahb_hresp ), +// .drq_ipdma128 (`AES_PATH.drq_ipdma128 ), +// .dlast_ipdma128 (`AES_PATH.dlast_ipdma128), +// .drq_opdma128 (`AES_PATH.drq_opdma128 ), +// .dlast_opdma128 (`AES_PATH.dlast_opdma128), +// .irq_key128 (`AES_PATH.irq_key128 ), +// .irq_ip128 (`AES_PATH.irq_ip128 ), +// .irq_op128 (`AES_PATH.irq_op128 ), +// .irq_error (`AES_PATH.irq_error ), +// .irq_merged (`AES_PATH.irq_merged ) +// ); // -------------------------------------------------------------------------------- diff --git a/IPLIB/ADPcontrol_v1_0/ADPmanager.v b/IPLIB/ADPcontrol_v1_0/ADPmanager.v index 8a7a0e8d5c70170e72c31af81f86a311f37549ca..a6bc70c0911aabe9484efb5758009440f0a5960a 100755 --- a/IPLIB/ADPcontrol_v1_0/ADPmanager.v +++ b/IPLIB/ADPcontrol_v1_0/ADPmanager.v @@ -11,6 +11,7 @@ //`define ADPBASIC 1 +`begin_keywords "1364-2001" module ADPmanager // AHB initiator interface #(parameter PROMPT_CHAR = "]" @@ -763,6 +764,8 @@ always @(posedge HCLK or negedge HRESETn) endmodule +`end_keywords + ////AHBLITE_ADPMASTER instancing //ADPmaster // #(.PROMPT_CHAR ("]"))