|
发表于 2024-2-20 15:22:08
|
显示全部楼层
如果你想通过参数扫描来修改某个instance的调用的模块, 可以考虑实现方法大概有:
1. 使用spectre的if..else语句实现.
Conditional Instances You can specify different conditions that determine which components the Spectre simulator instantiates for a given simulation. The determining conditions are computed from the values of parameters. You specify these conditions with the structural if statement. This statement lets you put if-else statements in the netlist.
这个方法目前只能通过文本修改spectre网表实现, 不能走ADE的图像界面flow;
2. 在testbench中一次性调用所有版本的symbol, 把它们的每个pin接到一个analogLib/switch, 然后并联在一起, 用带参数的电压源控制开关选通, 扫描参数时选通不同的symbol对应的开关. 这个方法可以支持ADE图形界面flow. 只是一次仿真的网表规模比单个symbol大, 对于未选通的symbol可以考虑再加一个switch把每个pin都短接到地, 这样仿真计算起来就比较快. |
|