【问题标题】:Possible to create a dictionary type data structure in VHDL?可以在 VHDL 中创建字典类型的数据结构吗?
【发布时间】:2016-01-28 05:48:33
【问题描述】:

基本上我想做的是,我将有一个 std_logic_vector 进入我的子模块,并且基于该向量的前 8 位,我想做某些事情。

本质上这是一个操作码。然而,仅仅将它输入 ALU 是行不通的,因为我有可变长度的指令,还有循环。

例如,我必须将不同的字节作为跳转指令,一个需要 3 个周期,另一个需要 4 个。

我想要一种查看输入向量的第一个字节的方法,并准确查找指令是什么,以便我可以设置与所述指令一起使用的不同值。

本质上是一个字典,或者一个有多个答案的 LUT。

所以,例如,如果第一个字节是 0x54我想查一下,这是一个跳转,需要4个周期,是直接地址,指令总长度是6个字节。

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

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

【问题讨论】:

    标签: dictionary data-structures vhdl fpga lookup-tables


    【解决方案1】:

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

    对于无法映射到内存查找的长key,需要做一个复杂的查找机,例如基于key的hash值和key match的最终验证。这是一个更大的设计,具有更长的延迟。

    【讨论】:

    • 太棒了...从 ROM 获取指令并使用 ROM 对其进行解码。哇!非常感谢!
    猜你喜欢
    • 2010-10-13
    • 1970-01-01
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    相关资源
    最近更新 更多