新闻中心

EEPW首页>嵌入式系统>设计应用> 基于FPGA实现VLIW微处理器的设计与实现

基于FPGA实现VLIW微处理器的设计与实现

作者: 时间:2010-07-17 来源:网络 收藏

  2.1 取指令模块的设计

  取指令模块的功能是从外部指令/数据的Catch取得指令和数据,将取得的信息传输给译码模块,让指令进行译码,同时也将取得的信息传输给寄存器堆模块,让执行模块执行操作进入内部寄存器而从寄存器堆取回数据。取指令模块设计实现如图3所示。将指令和数据通过选择器分配到3个操作并行单元中,然后细分操作执行的方式。具体划分为顶层模块和3种并行操作模块。顶层模块主要实现对指令和数据进行分流,分成操作码和操作地址的形式。由于都是并行操作,只需要写出操作1的功能,其余的操作功能一致,只是输入的操作指令和操作地址不一样。

基于FPGA实现VLIW微处理器的设计与实现

  2.2 译码操作模块的设计

  译码操作模块的功能是将取指令模块传输来的信息进行译码操作,将所进行译码操作传输给执行模块。由于在进行译码操作时,操作1、操作2、操作3的指令与数据没有相互冲突,而且每一种操作的功能都是对16种操作进行相对应的译码,不同在于输入的各个操作的数据或指令的不相同,因此,在实现译码模块时,只需要实现一个操作译码的功能就可以。在改变输入的情况下就实现操作2、操作3的2种操作译码的功能,从而可实现译码模块的整个功能。译码模块其划分原理如图4所示。

基于FPGA实现VLIW微处理器的设计与实现

  2.3 执行模块的设计

  执行模块是在所有模块中最复杂的模块,其主要功能是执行指令操作,并将执行的操作结果送到写回模块中。在执行模块中采用寄存器旁路的特点,寄存器旁路用于处理指令或者数据之间的相互冲突问题。

  将执行模块划分为:顶层模块、操作1模块、操作2模块、操作3模块、功能执行模块、异常处理模块。顶层模块实现3种操作的数据与指令分流和中间变量的处理;操作1模块实现寄存器旁路的功能和数据的处理;操作2模块和操作3模块实现的功能与操作1模块相同,不同点在于中间数据冲突处理不一样;功能执行模块实现16种操作的具体功能;异常处理模块实现数据或指令的异常处理的具体功能。将各个模块连接就实现执行单元的整个功能。

  2.4 寄存器堆的实现

  寄存器堆的结构如图5所示。输入端的数据、指令是来自2个单元,一个是取指令单元数据和指令,另一个是写回单元的数据;输出的指令、数据要传输到执行单元中进行执行操作。因为3种操作是并行执行的,每一种操作功能都是一样,因此在某个输入信号下,经由某种操作单元时,在选择器MUX下,选择某种具体操作运算。在功能单元FU中,对取出的存储器数据进行相应的操作运算处理,并将操作处理的结果输出送到执行单元中。图中虚线表示将写回单元输送来的操作数据直接存储到存储器中。实现时,要注意处理数据的相关问题。

基于FPGA实现VLIW微处理器的设计与实现



关键词:FPGAVLIW微处理器

评论


相关推荐

技术专区

关闭