gpt4 book ai didi

linux - 使用可变参数自动执行

转载 作者:太空宇宙 更新时间:2023-11-04 12:10:33 25 4
gpt4 key购买 nike

SEED = $$RANDOM 
INC = +incdir+../rtl +incdir+../tb +incdir+../test
comp = ncverilog +access+rwc -uvm -coverage all -seed $(SEED) $(INC) ../tb/top.sv
logs=mkdir logs;mv test_case* ./logs

test1:
$(comp) +UVM_VERBOSITY=UVM_MEDIUM +UVM_TESTNAME=test_case_1;
mkdir test_case_1_$(SEED);
mv cov_work ./test_case_1_$(SEED);
mv ncverilog.log NCVERILOG_$(SEED).log
mv *.log ./test_case_1_$(SEED)
$(logs)

这里的“SEED”是指一个随机数:

make test1 SEED=23679

我将同样在终端中运行目标 test1。但问题是我想通过使用任何条件循环来运行该目标 10 次。如果我想再次运行 test1 第二次,我需要这样给出:

make test1 SEED=40244

第三次:

make test1 SEED=87797

第四次:

make test1 SEED=5489

同样,每次我都需要在终端中提供种子值。我不希望它变成那样,如果有任何条件循环可以运行 test1 10 次,使用 10 个不同的种子,这对我来说会减少很多时间。

最佳答案

seeds.txt:

23679
40244
87797
5489

使用从 seeds.txt 中获取的 SEED 执行 make test1 一次:

cat seeds.txt | while read in; do make test1 SEED=$in; done

使用 seeds.txt 中的 SEED 执行 make test1 10 次:

cat seeds.txt | while read in; do seq 10 | xargs -I -- make test1 SEED=$in; done

不客气。

关于linux - 使用可变参数自动执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49150382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com