Skip to content
Snippets Groups Projects
Commit 983484f9 authored by dam1n19's avatar dam1n19
Browse files

SOC1-167: Added pragmas to adp and renamed nanosoc_tb module. Updated makefile...

SOC1-167: Added pragmas to adp and renamed nanosoc_tb module. Updated makefile to compile more robustly
parent 0dd20509
Branches
Tags
No related merge requests found
...@@ -77,7 +77,7 @@ endif ...@@ -77,7 +77,7 @@ endif
# Select Verilog Command File based on CPU type # Select Verilog Command File based on CPU type
ifeq ($(CPU_PRODUCT),CORTEX_M0) ifeq ($(CPU_PRODUCT),CORTEX_M0)
# For Cortex-M0 product users # 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 DEFINES_VC = +define+CORTEX_M0 +define+USE_TARMAC
endif endif
...@@ -88,7 +88,7 @@ endif ...@@ -88,7 +88,7 @@ endif
ifeq ($(DMA_PRODUCT),DMA_230) ifeq ($(DMA_PRODUCT),DMA_230)
# For Cortex-M0 product users # 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 endif
TBENCH_VC += -f $(PROJECT_DIR)/flist/project/system.flist TBENCH_VC += -f $(PROJECT_DIR)/flist/project/system.flist
...@@ -104,7 +104,7 @@ ACCELERATOR_VC = ...@@ -104,7 +104,7 @@ ACCELERATOR_VC =
#ADP command File #ADP command File
# ADP_FILE ?= $(SOC_TOP_DIR)/accelerator-wrapper/simulate/stimulus/adp_hash_stim.cmd # 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_PATH := $(shell realpath $(ADP_FILE))
ADP_OPTIONS := -define ADP_FILE=\"$(ADP_PATH)\" ADP_OPTIONS := -define ADP_FILE=\"$(ADP_PATH)\"
...@@ -191,14 +191,14 @@ all_vcs : compile_vcs bootrom debugtester ...@@ -191,14 +191,14 @@ all_vcs : compile_vcs bootrom debugtester
compile_xm : compile_xm :
@echo ADP_FILE @echo ADP_FILE
@echo $(ADP_OPTIONS) @echo $(ADP_OPTIONS)
xmprep +overwrite $(DEFINES_VC) $(XM_VC_OPTIONS) +debug | tee 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.args | tee -a 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 xmelab -mess -f xmelab.args -access +r | tee -a compile_xm.log
# Note : If coverage is required, you can add -coverage all to xmelab # Note : If coverage is required, you can add -coverage all to xmelab
# Run simulation in batch mode # Run simulation in batch mode
run_xm : code run_xm : code compile_xm
@if [ ! -d logs ] ; then \ @if [ ! -d logs ] ; then \
mkdir logs; \ mkdir logs; \
fi fi
...@@ -206,10 +206,10 @@ run_xm : code ...@@ -206,10 +206,10 @@ run_xm : code
@echo exit >> run.tcl.tmp @echo exit >> run.tcl.tmp
@mv run.tcl.tmp run.tcl @mv run.tcl.tmp run.tcl
xmsim $(XMSIM_OPTIONS) -input run.tcl | tee logs/run_$(TESTNAME).log ; xmsim $(XMSIM_OPTIONS) -input run.tcl | tee logs/run_$(TESTNAME).log ;
@make verify # @make verify
# Run simulation in interactive mode # Run simulation in interactive mode
sim_xm : code sim_xm : code compile_xm
xmsim -gui $(XMSIM_OPTIONS) xmsim -gui $(XMSIM_OPTIONS)
@make verify @make verify
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
// //
// David Flynn (d.w.flynn@soton.ac.uk) // 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 @@ ...@@ -37,7 +37,7 @@
// //
`timescale 1ns/1ps `timescale 1ns/1ps
module tb_cmsdk_mcu; module tb_nanosoc;
wire XTAL1; // crystal pin 1 wire XTAL1; // crystal pin 1
wire XTAL2; // crystal pin 2 wire XTAL2; // crystal pin 2
...@@ -80,6 +80,13 @@ module tb_cmsdk_mcu; ...@@ -80,6 +80,13 @@ module tb_cmsdk_mcu;
localparam BE=0; localparam BE=0;
`define ARM_CMSDK_INCLUDE_DEBUG_TESTER 1 `define ARM_CMSDK_INCLUDE_DEBUG_TESTER 1
`ifdef ADP_FILE
localparam ADP_FILENAME=`ADP_FILE;
`else
localparam ADP_FILENAME="adp.cmd";
`endif
SROM_Ax32 SROM_Ax32
#(.ADDRWIDTH (8), #(.ADDRWIDTH (8),
.filename ("bootloader.hex"), .filename ("bootloader.hex"),
...@@ -260,7 +267,7 @@ wire rxd8_valid; ...@@ -260,7 +267,7 @@ wire rxd8_valid;
wire [7:0] rxd8_data ; wire [7:0] rxd8_data ;
axi_streamio8_txd_from_file axi_streamio8_txd_from_file
#(.TXDFILENAME("adp.cmd")) #(.TXDFILENAME(ADP_FILENAME))
u_axi_streamio8_txd_from_file u_axi_streamio8_txd_from_file
( (
.aclk (XTAL1), .aclk (XTAL1),
...@@ -588,33 +595,33 @@ ft1248x1_track ...@@ -588,33 +595,33 @@ ft1248x1_track
// Tracking AES logging support // Tracking AES logging support
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
`define AES_PATH u_nanosoc_chip_pads.u_nanosoc_chip.u_exp_aes128 // `define AES_PATH u_nanosoc_chip_pads.u_nanosoc_chip.u_exp_aes128
aes128_log_to_file #(.FILENAME("aes128.log"),.TIMESTAMP(1)) // aes128_log_to_file #(.FILENAME("aes128.log"),.TIMESTAMP(1))
u_aes_log_to_file ( // u_aes_log_to_file (
.ahb_hclk (`AES_PATH.ahb_hclk ), // .ahb_hclk (`AES_PATH.ahb_hclk ),
.ahb_hresetn (`AES_PATH.ahb_hresetn ), // .ahb_hresetn (`AES_PATH.ahb_hresetn ),
.ahb_hsel (`AES_PATH.ahb_hsel ), // .ahb_hsel (`AES_PATH.ahb_hsel ),
.ahb_haddr16 (`AES_PATH.ahb_haddr16 ), // .ahb_haddr16 (`AES_PATH.ahb_haddr16 ),
.ahb_htrans (`AES_PATH.ahb_htrans ), // .ahb_htrans (`AES_PATH.ahb_htrans ),
.ahb_hwrite (`AES_PATH.ahb_hwrite ), // .ahb_hwrite (`AES_PATH.ahb_hwrite ),
.ahb_hsize (`AES_PATH.ahb_hsize ), // .ahb_hsize (`AES_PATH.ahb_hsize ),
.ahb_hprot (`AES_PATH.ahb_hprot ), // .ahb_hprot (`AES_PATH.ahb_hprot ),
.ahb_hwdata (`AES_PATH.ahb_hwdata ), // .ahb_hwdata (`AES_PATH.ahb_hwdata ),
.ahb_hready (`AES_PATH.ahb_hready ), // .ahb_hready (`AES_PATH.ahb_hready ),
.ahb_hrdata (`AES_PATH.ahb_hrdata ), // .ahb_hrdata (`AES_PATH.ahb_hrdata ),
.ahb_hreadyout (`AES_PATH.ahb_hreadyout ), // .ahb_hreadyout (`AES_PATH.ahb_hreadyout ),
.ahb_hresp (`AES_PATH.ahb_hresp ), // .ahb_hresp (`AES_PATH.ahb_hresp ),
.drq_ipdma128 (`AES_PATH.drq_ipdma128 ), // .drq_ipdma128 (`AES_PATH.drq_ipdma128 ),
.dlast_ipdma128 (`AES_PATH.dlast_ipdma128), // .dlast_ipdma128 (`AES_PATH.dlast_ipdma128),
.drq_opdma128 (`AES_PATH.drq_opdma128 ), // .drq_opdma128 (`AES_PATH.drq_opdma128 ),
.dlast_opdma128 (`AES_PATH.dlast_opdma128), // .dlast_opdma128 (`AES_PATH.dlast_opdma128),
.irq_key128 (`AES_PATH.irq_key128 ), // .irq_key128 (`AES_PATH.irq_key128 ),
.irq_ip128 (`AES_PATH.irq_ip128 ), // .irq_ip128 (`AES_PATH.irq_ip128 ),
.irq_op128 (`AES_PATH.irq_op128 ), // .irq_op128 (`AES_PATH.irq_op128 ),
.irq_error (`AES_PATH.irq_error ), // .irq_error (`AES_PATH.irq_error ),
.irq_merged (`AES_PATH.irq_merged ) // .irq_merged (`AES_PATH.irq_merged )
); // );
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
//`define ADPBASIC 1 //`define ADPBASIC 1
`begin_keywords "1364-2001"
module ADPmanager // AHB initiator interface module ADPmanager // AHB initiator interface
#(parameter PROMPT_CHAR = "]" #(parameter PROMPT_CHAR = "]"
...@@ -763,6 +764,8 @@ always @(posedge HCLK or negedge HRESETn) ...@@ -763,6 +764,8 @@ always @(posedge HCLK or negedge HRESETn)
endmodule endmodule
`end_keywords
////AHBLITE_ADPMASTER instancing ////AHBLITE_ADPMASTER instancing
//ADPmaster //ADPmaster
// #(.PROMPT_CHAR ("]")) // #(.PROMPT_CHAR ("]"))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment