2025-10-13
verilator最开始的值不会触发verilog动作,例如开始把异步复位rst_n
置为0并不会触发异步复位。
符号表类型为FUNC的表项是程序中的函数,每个表项的Value是对应函数的其实地址,Name是函数的名字,可见符号表将函数的名字和地址关联起来了。实际上Name存储的不是函数名字符串,而是函数名这个字符串在字符串表(string table)中的偏移量。字符串表的其实地址可以从Section Headers中获取,例如一个elf文件的Section Headers如下

可以看到strtab字段的地址是0x0014f4
。当我们知道一个函数的地址之后,可以在符号表中找到这个表项的Name中保存的偏移量,然后用这个偏移量就可以在字符串表中找到这个函数的名字。