Resistor Already Part Of Netlist But .param Directive Still Required For B-Source Expression

Hello,

I have a question regarding using component values in behavioral voltage source expressions.

So I have a behavioral voltage source whose expression is dependant on both the value of the current through a sense resistor and the value of the current sense resistor. Basically it is V = IR. If the resistor is already part of the netlist, why do you have to create a .param directive to utilize it in the expression? Shouldn’t the variable name in the expression be enough?

For example, in the following figure, I had to include the .param directive (which appears to be a bit redundant) to make use of the resistor value otherwise, the following exception would be generated:

Fatal error: Missing expression in B-source B1

Do you have a solution without using the directive .param? That is, only using the variable name in an expression?

As I recall, this has never appeared in SPICE or PWL simulators.
That the device name, not a variable.

The exception is that to read current, you use I(R10) to read the current of that resistor device. However, this is basically not a variable, but rather a syntax to read device current.

But just based on your screenshot, I don’t understand why not do it in a standard way? You basically just reading voltage across that resistor, and standard method is to label the node and use the node voltage.

Ok, yes, this works. I was accustomed to performing this operation by way of “Ohms Law” format (but differential works just the same).

Btw, now that I have been using QSpice more regularly, it is growing on me and now prefer it to LTSpice in terms of its interface. :slightly_smiling_face:

2 Likes