Merge pull request #1577 from firesim/fix-stream-width-adapt
Fix stream width adapt
This commit is contained in:
commit
491c573019
|
@ -214,7 +214,7 @@ cd "$RDIR"
|
||||||
# commands to run only on EC2
|
# commands to run only on EC2
|
||||||
# see if the instance info page exists. if not, we are not on ec2.
|
# see if the instance info page exists. if not, we are not on ec2.
|
||||||
# this is one of the few methods that works without sudo
|
# this is one of the few methods that works without sudo
|
||||||
if wget -T 1 -t 3 -O /dev/null http://169.254.169.254/; then
|
if wget -T 1 -t 3 -O /dev/null http://169.254.169.254/latest/; then
|
||||||
|
|
||||||
(
|
(
|
||||||
# ensure that we're using the system toolchain to build the kernel modules
|
# ensure that we're using the system toolchain to build the kernel modules
|
||||||
|
|
|
@ -11,12 +11,12 @@
|
||||||
|
|
||||||
# DOCREF START: Example HWDB Entry
|
# DOCREF START: Example HWDB Entry
|
||||||
firesim_boom_singlecore_nic_l2_llc4mb_ddr3:
|
firesim_boom_singlecore_nic_l2_llc4mb_ddr3:
|
||||||
agfi: agfi-0aac270576e64693c
|
agfi: agfi-0a077a32e234bbaa6
|
||||||
deploy_quintuplet_override: null
|
deploy_quintuplet_override: null
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
# DOCREF END: Example HWDB Entry
|
# DOCREF END: Example HWDB Entry
|
||||||
firesim_boom_singlecore_no_nic_l2_llc4mb_ddr3:
|
firesim_boom_singlecore_no_nic_l2_llc4mb_ddr3:
|
||||||
agfi: agfi-02f92e7c011ef6e19
|
agfi: agfi-08a82e8d88436c513
|
||||||
deploy_quintuplet_override: null
|
deploy_quintuplet_override: null
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
firesim_gemmini_printf_rocket_singlecore_no_nic:
|
firesim_gemmini_printf_rocket_singlecore_no_nic:
|
||||||
|
@ -28,11 +28,11 @@ firesim_gemmini_rocket_singlecore_no_nic:
|
||||||
deploy_quintuplet_override: null
|
deploy_quintuplet_override: null
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
firesim_rocket_quadcore_nic_l2_llc4mb_ddr3:
|
firesim_rocket_quadcore_nic_l2_llc4mb_ddr3:
|
||||||
agfi: agfi-0455e4c2892076c1a
|
agfi: agfi-0d27fb39f87c61095
|
||||||
deploy_quintuplet_override: null
|
deploy_quintuplet_override: null
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
firesim_rocket_quadcore_no_nic_l2_llc4mb_ddr3:
|
firesim_rocket_quadcore_no_nic_l2_llc4mb_ddr3:
|
||||||
agfi: agfi-09eeb63f4fae0929e
|
agfi: agfi-0a576f54d5c788131
|
||||||
deploy_quintuplet_override: null
|
deploy_quintuplet_override: null
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
firesim_rocket_singlecore_no_nic_l2_lbp:
|
firesim_rocket_singlecore_no_nic_l2_lbp:
|
||||||
|
@ -52,7 +52,7 @@ firesim_rocket_singlecore_sha3_no_nic_l2_llc4mb_ddr3_printf:
|
||||||
deploy_quintuplet_override: null
|
deploy_quintuplet_override: null
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
firesim_supernode_rocket_singlecore_nic_l2_lbp:
|
firesim_supernode_rocket_singlecore_nic_l2_lbp:
|
||||||
agfi: agfi-0d215a3250e0afabb
|
agfi: agfi-0aac70f36ef51a4a9
|
||||||
deploy_quintuplet_override: null
|
deploy_quintuplet_override: null
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
vitis_firesim_rocket_singlecore_no_nic:
|
vitis_firesim_rocket_singlecore_no_nic:
|
||||||
|
@ -65,24 +65,20 @@ vitis_firesim_gemmini_rocket_singlecore_no_nic:
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
# DOCREF START: Xilinx Alveo HWDB Entries
|
# DOCREF START: Xilinx Alveo HWDB Entries
|
||||||
alveo_u250_firesim_rocket_singlecore_no_nic:
|
alveo_u250_firesim_rocket_singlecore_no_nic:
|
||||||
bitstream_tar: https://raw.githubusercontent.com/firesim/firesim-public-bitstreams/d7eacf838e04fd3ec320ccc126491092f1c0e09c/xilinx_alveo_u250/alveo_u250_firesim_rocket_singlecore_no_nic.tar.gz
|
bitstream_tar: https://raw.githubusercontent.com/firesim/firesim-public-bitstreams/c41e43a1b30b88434330476195481da0d58695a8/xilinx_alveo_u250/alveo_u250_firesim_rocket_singlecore_no_nic.tar.gz
|
||||||
deploy_quintuplet_override: null
|
deploy_quintuplet_override: null
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
alveo_u280_firesim_rocket_singlecore_no_nic:
|
alveo_u280_firesim_rocket_singlecore_no_nic:
|
||||||
bitstream_tar: https://raw.githubusercontent.com/firesim/firesim-public-bitstreams/038e1223eff0c9681a602bccb661bcecc7ca3640/xilinx_alveo_u280/alveo_u280_firesim_rocket_singlecore_no_nic.tar.gz
|
bitstream_tar: https://raw.githubusercontent.com/firesim/firesim-public-bitstreams/58912148918d390210661c1cfa6ae7e774199f6a/xilinx_alveo_u280/alveo_u280_firesim_rocket_singlecore_no_nic.tar.gz
|
||||||
deploy_quintuplet_override: null
|
deploy_quintuplet_override: null
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
# DOCREF END: Xilinx Alveo HWDB Entries
|
# DOCREF END: Xilinx Alveo HWDB Entries
|
||||||
xilinx_vcu118_firesim_rocket_singlecore_4GB_no_nic:
|
xilinx_vcu118_firesim_rocket_singlecore_4GB_no_nic:
|
||||||
bitstream_tar: https://raw.githubusercontent.com/firesim/firesim-public-bitstreams/2143daca842608f730f67a9562a8452c0fd22c54/xilinx_vcu118/xilinx_vcu118_firesim_rocket_singlecore_4GB_no_nic.tar.gz
|
bitstream_tar: https://raw.githubusercontent.com/firesim/firesim-public-bitstreams/b448a21ee269d116515b893d4e945edb5c349928/xilinx_vcu118/xilinx_vcu118_firesim_rocket_singlecore_4GB_no_nic.tar.gz
|
||||||
deploy_quintuplet_override: null
|
deploy_quintuplet_override: null
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
nitefury_firesim_rocket_singlecore_no_nic:
|
nitefury_firesim_rocket_singlecore_no_nic:
|
||||||
bitstream_tar: https://raw.githubusercontent.com/firesim/firesim-public-bitstreams/90454641f381cf30969fd0bc1f32d3a89b2f3802/rhsresearch_nitefury_ii/nitefury_firesim_rocket_singlecore_no_nic.tar.gz
|
bitstream_tar: https://raw.githubusercontent.com/firesim/firesim-public-bitstreams/2db0f64a7670cdc2c7d528e2170cd1bf111208c6/rhsresearch_nitefury_ii/nitefury_firesim_rocket_singlecore_no_nic.tar.gz
|
||||||
deploy_quintuplet_override: null
|
deploy_quintuplet_override: null
|
||||||
custom_runtime_config: null
|
custom_runtime_config: null
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ CONDA_INSTALLER_VERSION=23.1.0-1
|
||||||
CONDA_INSTALLER="https://github.com/conda-forge/miniforge/releases/download/${CONDA_INSTALLER_VERSION}/Miniforge3-${CONDA_INSTALLER_VERSION}-Linux-x86_64.sh"
|
CONDA_INSTALLER="https://github.com/conda-forge/miniforge/releases/download/${CONDA_INSTALLER_VERSION}/Miniforge3-${CONDA_INSTALLER_VERSION}-Linux-x86_64.sh"
|
||||||
CONDA_CMD="conda" # some installers install mamba or micromamba
|
CONDA_CMD="conda" # some installers install mamba or micromamba
|
||||||
CONDA_ENV_NAME="firesim"
|
CONDA_ENV_NAME="firesim"
|
||||||
|
CONDA_SHELL_TYPE=bash
|
||||||
|
|
||||||
DRY_RUN_OPTION=""
|
DRY_RUN_OPTION=""
|
||||||
DRY_RUN_ECHO=()
|
DRY_RUN_ECHO=()
|
||||||
|
@ -19,24 +20,25 @@ usage()
|
||||||
echo
|
echo
|
||||||
echo "Options:"
|
echo "Options:"
|
||||||
echo "[--help] List this help"
|
echo "[--help] List this help"
|
||||||
echo "[--prefix <prefix>] Install prefix for conda. Defaults to /opt/conda."
|
echo "[--prefix <prefix>] Install prefix for conda. Defaults to $CONDA_INSTALL_PREFIX."
|
||||||
echo " If <prefix>/bin/conda already exists, it will be used and install is skipped."
|
echo " If <prefix>/bin/conda already exists, it will be used and install is skipped."
|
||||||
echo "[--env <name>] Name of environment to create for conda. Defaults to 'firesim'."
|
echo "[--env <name>] Name of environment to create for conda. Defaults to '$CONDA_ENV_NAME'."
|
||||||
echo "[--dry-run] Pass-through to all conda commands and only print other commands."
|
echo "[--dry-run] Pass-through to all conda commands and only print other commands."
|
||||||
echo " NOTE: --dry-run will still install conda to --prefix"
|
echo " NOTE: --dry-run will still install conda to --prefix"
|
||||||
echo "[--reinstall-conda] Repairs a broken base environment by reinstalling."
|
echo "[--reinstall-conda] Repairs a broken base environment by reinstalling."
|
||||||
echo " NOTE: will only reinstall conda and exit without modifying the --env"
|
echo " NOTE: will only reinstall conda and exit without modifying the --env"
|
||||||
|
echo "[--shell] Run initialization for a specific shell. Defaults to $CONDA_SHELL_TYPE."
|
||||||
echo
|
echo
|
||||||
echo "Examples:"
|
echo "Examples:"
|
||||||
echo " % $0"
|
echo " % $0"
|
||||||
echo " Install into default system-wide prefix (using sudo if needed) and add install to system-wide /etc/profile.d"
|
echo " Install into default system-wide prefix (using sudo if needed) and add install to system-wide /etc/profile.d"
|
||||||
echo " % $0 --prefix ~/conda --env my_custom_env"
|
echo " % $0 --prefix ~/conda --env my_custom_env"
|
||||||
echo " Install into $HOME/conda and add install to ~/.bashrc"
|
echo " Install into $HOME/conda and add install to $CONDA_SHELL_TYPE init files (i.e. ~/.*rc)"
|
||||||
echo " % $0 --prefix \${CONDA_EXE%/bin/conda} --env my_custom_env"
|
echo " % $0 --prefix \${CONDA_EXE%/bin/conda} --env my_custom_env"
|
||||||
echo " Create my_custom_env in existing conda install"
|
echo " Create my_custom_env in existing conda install"
|
||||||
echo " NOTES:"
|
echo " NOTES:"
|
||||||
echo " * CONDA_EXE is set in your environment when you activate a conda env"
|
echo " * CONDA_EXE is set in your environment when you activate a conda env"
|
||||||
echo " * my_custom_env will not be activated by default at login see /etc/profile.d/conda.sh & ~/.bashrc"
|
echo " * my_custom_env will not be activated by default at login see /etc/profile.d/conda.sh & $CONDA_SHELL_TYPE init files (i.e. ~/.*rc)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,6 +71,11 @@ while [ $# -gt 0 ]; do
|
||||||
shift
|
shift
|
||||||
REINSTALL_CONDA=1
|
REINSTALL_CONDA=1
|
||||||
;;
|
;;
|
||||||
|
--shell)
|
||||||
|
shift
|
||||||
|
CONDA_SHELL_TYPE="$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Invalid Argument: $1"
|
echo "Invalid Argument: $1"
|
||||||
usage
|
usage
|
||||||
|
@ -122,6 +129,8 @@ set -o pipefail
|
||||||
;;
|
;;
|
||||||
amzn)
|
amzn)
|
||||||
;;
|
;;
|
||||||
|
debian)
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "::ERROR:: Unknown OS flavor '$OS_FLAVOR'. Unable to do platform-specific setup."
|
echo "::ERROR:: Unknown OS flavor '$OS_FLAVOR'. Unable to do platform-specific setup."
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -198,7 +207,7 @@ set -o pipefail
|
||||||
# run conda-init and look at it's output to insert 'conda activate $CONDA_ENV_NAME' into the
|
# run conda-init and look at it's output to insert 'conda activate $CONDA_ENV_NAME' into the
|
||||||
# block that conda-init will update if ever conda is installed to a different prefix and
|
# block that conda-init will update if ever conda is installed to a different prefix and
|
||||||
# this is rerun.
|
# this is rerun.
|
||||||
$SUDO "${CONDA_EXE}" init $DRY_RUN_OPTION "${conda_init_extra_args[@]}" bash 2>&1 | \
|
$SUDO "${CONDA_EXE}" init $DRY_RUN_OPTION "${conda_init_extra_args[@]}" $CONDA_SHELL_TYPE 2>&1 | \
|
||||||
tee >(grep '^modified' | grep -v "$CONDA_INSTALL_PREFIX" | awk '{print $NF}' | \
|
tee >(grep '^modified' | grep -v "$CONDA_INSTALL_PREFIX" | awk '{print $NF}' | \
|
||||||
"${DRY_RUN_ECHO[@]}" $SUDO xargs -r sed -i -e "/<<< conda initialize <<</iconda activate $CONDA_ENV_NAME")
|
"${DRY_RUN_ECHO[@]}" $SUDO xargs -r sed -i -e "/<<< conda initialize <<</iconda activate $CONDA_ENV_NAME")
|
||||||
|
|
||||||
|
@ -309,6 +318,8 @@ set -o pipefail
|
||||||
sudo ./AmazonLinux2-user-data.sh
|
sudo ./AmazonLinux2-user-data.sh
|
||||||
echo "firesim" | sudo passwd ec2-user --stdin # default password is 'firesim'
|
echo "firesim" | sudo passwd ec2-user --stdin # default password is 'firesim'
|
||||||
;;
|
;;
|
||||||
|
debian)
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "::ERROR:: Unknown OS flavor '$OS_FLAVOR'. Unable to do platform-specific setup."
|
echo "::ERROR:: Unknown OS flavor '$OS_FLAVOR'. Unable to do platform-specific setup."
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -54,7 +54,7 @@ class StreamWidthAdapter(narrowW: Int, wideW: Int) extends Module {
|
||||||
io.wide.out.bits := Cat(io.narrow.in.bits, narrow_data.asUInt)
|
io.wide.out.bits := Cat(io.narrow.in.bits, narrow_data.asUInt)
|
||||||
|
|
||||||
io.narrow.out.valid := io.wide.in.valid
|
io.narrow.out.valid := io.wide.in.valid
|
||||||
io.narrow.out.bits := io.wide.in.bits >> (wide_beats << 3)
|
io.narrow.out.bits := io.wide.in.bits.asTypeOf(Vec(beats, UInt(narrowW.W)))(wide_beats)
|
||||||
when (io.narrow.out.fire()) {
|
when (io.narrow.out.fire()) {
|
||||||
wide_beats := Mux(wide_last_beat, 0.U, wide_beats + 1.U)
|
wide_beats := Mux(wide_last_beat, 0.U, wide_beats + 1.U)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 22b43ca3dbe1ab39c90689f81c98b8d9a0260c89
|
Subproject commit 9cfeec034ab36def11ac23fb3315605f93272e2b
|
Loading…
Reference in New Issue