只做电脑仿真,现在激励文件中将一txt文档中的二维码导入系统,我用的是$fgetc,但我不知道在激励文件中如何计数?因为在系统最后导出二进制码元时,情况是这样的:在5000ns开始,每100ns,输出寄存器out【0:1722】就更新一组数值,一般在第五/六组的600位左右时候码元全部更新完(后面则全部为1),我需要把有效的数据全部导出txt文档,所以需要计数导出,这又该如何导出?如有程序 ,追加分数!
不是二维码 是二进制码 就是01010101101这种!!!
输出数据在txt文档中,就是二进制码的格式 不用空格,但是这个组数并不固定,要看输入时的码元数,比如,输入10000个码元,在系统运行一圈后,把这10000个码元输出,那么,输出时应输出前5组码元和第六组码元的前1370位(10000除以1723等于5,余数为1370),这该怎么办?我想是在输入时就把码元进行计数,然后输出时把这个数拿过来,用于计数输出,能行吗?
追答输入的时候可以计数啊 执行fgetc一次就加1 然后做除法和求模运算可以得到循环次数
你自己都想出来怎么做为什么不试试呢
另外 10000除以1723为什么余数是1370?
verilog还提供一个函数$ftell 可以返回文件指针的偏移量 从而可以不必自己进行计数了 不过需要从这个返回值中减去丢弃的字符个数