材料中的光速
https://blog.csdn.net/weixin_43229030/article/details/106745060
空气中,相对介电常数和相对导磁率都为1, 光的速度为12 in/ns
绝大多数互连线中的光速约为12 in/ns/sqrt(4)=6 in/ns。当估算电路板上互连线中信号的连度对,就可以假定它约为6 in/ns。
defparam的用法
https://www.cnblogs.com/zhangshitong/p/3861397.html
verilog调用底层模块只改变参数的传递。上述博文值看第一条,第2和3条可以省略,
因为我这边语法报错,而第一个,defparam的主要用法,还是覆盖parameter的值,
不加defparam关键字有语法错误。
当一个模块引用另外一个模块时,高层模块可以改变低层模块用parameter定义的参数值。
module top ( .....)
input....;
output....;
defparam U1.Para1 = 10 ;
M1 U1 (..........);
endmodule
module M1(....);
parameter para1 = 5 ;
input...;
output...;
......
endmodule
C语言的宏使用
http://c.biancheng.net/view/446.html
字符串化参数运算符
一元运算符 # 常称为字符串化运算符(stringify operator 或 stringizing operator),因为它会把宏调用时的实参转换为字符串。# 的操作数必须是宏替换文本中的形参。当形参名称出现在替换文本中,并且具有前缀 # 字符时,预处理器会把与该形参对应的实参放到一对双引号中,形成一个字符串字面量。
#define printDBL( exp ) printf( #exp " = %f ", exp )
printDBL( 4 * atan(1.0)); // atan()在math.h中定义
# 预编译得到的结果,前面为字符串
printf( "4 * atan(1.0)" " = %f ", 4 * atan(1.0));
字符串化运算符
#define showArgs(...) puts(#__VA_ARGS__)
showArgs( one\n, "2\n", three );
记号粘贴运算符
使用 ## 运算符时,至少有一个操作数是宏的形参。在这种情况下,实参值会先替换形参,然后等记号粘贴完成后,才进行宏展开。
#define TEXT_A "Hello, world!"
#define msg(x) puts( TEXT_ ## x )
msg(A);
# 展开后如下
puts( TEXT_A );
标签:defparam,光速,形参,atan,C语言,运算符,字符串,define
From: https://www.cnblogs.com/bai2022/p/17663378.html