配置寄存器默认值为
时间:2022-3-3 09:08 作者:!admin 分类: 无
配置寄存器默认值为
如果不对寄存器进行任何赋值操作,其值是未知,在Verilog中用x表示。
verilog是硬件描述语言,不是软件编程语言,所以没有“执行”的概念,也没有“默认初始值”的概念;你这几句描述的是一个组合逻辑循环(binational Loop),这是硬件设计里的错误,初学者往往会出现这种错误。
图着色性的同构:
透过活跃变量分析(Live variable analysis),编译器可以决定哪个变量的集合在同一时间是活跃的,也就是涉入move指令的变量。使用这些信息,编译器可以建构一张图,使每个点(Vertex)在程序中代表一个独立的变量。
当变量被同时使用时,则利用干扰边(Interference edges)链接两个节点,当变量同时涉入move指令时,则创建优先边(preference edges)。可以透过K-coloring用来解决寄存器配置的问题(K为寄存器可用的数量)。