When you are using Xilinx SDK, you have to distinguish pointer and array. If you declare a variable as a pointer, you have to use it as a pointer not array. If a pointer is used as array, synchoronous interrupt handler(exception) may occur.

 

volatile unsigned int* mem;

for(i=0; i<SIZE; i++){
	mem[i] = i; //Synchoronous Interrupt Handler(exception) may occur
    //you have to use like this
    //*(mem+i) = i;
}

Bash if statement can be used with regular expression

if [[ "hello world" =~ "hello" ]] ## this is true
then
    echo "'hello world' has 'hello'"
fi

if [[ "hello" =~ "hello world" ]] ## this is false
then
    echo "'hello' has 'hello world'"
fi

if [[ "hello world" =~ e.* ]] ## this is true
then
    echo "'hello world' has 'e' followed by any character"
fi

Note that

 - the bracket should be double

 - use "=~", not "~="

 - use the regular expression without quotation mark

 - the lefthand-side should be a container

'Programming > Bash Script' 카테고리의 다른 글

Bash script argument parsing with getopts  (0) 2020.01.23
Bash script for statement  (0) 2018.05.21
Bash Script case statement  (0) 2018.02.06
Bash Script Variable Split by Space  (0) 2018.02.04
Bash Script Echo  (0) 2018.02.04

When you are using very large concatenated signals in Vivado simulation, it may cause elaborate step failure. You can release this problem with breaking into several smaller signals.

 

AR# 62969 says it may be fixed in 2015.1 version, however, it still exists in 2017.2 version

www.xilinx.com/support/answers/62969.html

'Programming > Xilinx' 카테고리의 다른 글

SDK baremetal HW-time measurement  (0) 2021.12.07
SDK pointer vs array  (0) 2021.12.04
Vivado [Opt 31-67] Issue  (0) 2020.12.30
ZCU102 Evaluation Kit SODIMM issue  (0) 2020.12.21
UART terminal on remote RaspberryPI  (0) 2020.12.18

+ Recent posts