International Association for Cryptologic Research

International Association
for Cryptologic Research

Transactions on Cryptographic Hardware and Embedded Systems 2025

BASTION:

A Framework for Secure Third-Party IP Integration in NoC-based SoC Platforms


README

ESP Bastion

This repository is a minimal example for the paper:

A Framework for Secure Third-Party IP Integration in NoC-based SoC Platforms

Repo structure

This project is built on top of the ESP platform. For background and ESP general usage instructions, please refer to the ESP documentation and tutorials.

The example is based on this commit of the ESP repository. The overall code structure is well documented in the original ESP README. Bastion maintains the ESP hardware and software structure, with modifications to a few socket modules.

Instead of using a pure RTL testbench, users can simulate the full hardware and firmware stack to approximate a more realistic setup. The top-level firmware also serves the purpose of a testbench.

Tools

Using versions of Modelsim/Questa or Vivado different from those listed above may require changes to utils/Makefile, utils/make/modelsim.mk and utils/make/questa.mk. While other versions of Questa/Modelsim were used during development, this release has only been tested with the specific tool versions mentioned. Vivado is required to compile Xilinx simulation libraries (see line 34 at utils/make/modelsim.mk).

Steps

1. Configure EDA Tools and Start the Docker

git clone --recurse-submodules https://github.com/KastnerRG/ESP-Bastion.git
docker run -it --security-opt label=type:container_runtime_t --network=host -e DISPLAY=$DISPLAY -v "$HOME/.Xauthority:/root/.Xauthority:rw" -v "/opt:/opt" -v "./ESP-Bastion:/home/espuser/esp" davidegiri/esp-tutorial:asplos2021 /bin/bash
xhost +local:docker
source esp/scripts/esp_env_cad_bastion.sh

2. Generate HLS Accelerator

tech/virtex7/acc
tech/virtex7/memgen

3. Configure SoC architecture

socs/xilinx-vc707-xc7vx485t
make esp-xconfig

Diagram

Diagram

4. Enable/Disable Security Features in Firmware

5. Run Simulation

source dummy_stratus_sim.sh
source path/to/scripts/sim_op.tcl

Diagram

source cmddummy_stratus_sim.sh
run -a

Synthesis

The synthesis workflow follows the standard ESP process; tutorials are available here. Note that a Virtex-7 Vivado license is required.