2016-01-28 27 views
-1

基本上我想做的是,我将有一个std_logic_vector进入我的子模块,并基于该向量的前8位,我想做某些事情。可能用VHDL创建字典型数据结构?

本质上这是一个操作码。然而,仅仅将此馈送到ALU中将不起作用,因为我有可变长度指令,也有循环。

例如,我必须是跳转指令不同字节,一个需要3个周期中,其它4

我想看着输入向量的第一个字节的方式,和仰视究竟是什么指令,以便我可以设置不同的值与指令一起使用。

本质上是一个字典或一个LUT与多个答案。

因此,举例来说,如果第一个字节是 0x54我想看看,看看,这是一个跳,需要4个周期,其直接编辑部地址,和指令的总长度为6个字节。

有没有办法使用字典型结构或LUT来做到这一点?

我试图合并的指令集是65C816,如果有帮助的话。

回答

1

当密钥很小时(例如在这种情况下只有8位),则可以直接将密钥用作内存地址,然后用查找所需的任何结果初始化内存。该查找只需要1个周期,实现起来相当简单。

对于无法映射到内存查找的长键,需要制作复杂的查找机器,例如基于密钥的散列值和密钥匹配的最终验证。这是一个更长的延迟更大的设计。

+0

这太棒了...从ROM获取指令并使用ROM解码它们。哇!非常感谢! –