2008-10-23 77 views
4

对于大学中期项目,我必须设计一个可配置处理器,以VHDL编写代码,然后在Digilent的Spartan 3E FPGA板上进行综合。我是一个初学者,所以你可以指点我一些关于可配置处理器的信息,以及与这个概念相关的一些想法?在FPGA板上实现的可配置处理器

回答

2

这只是一个样机,所以请注意,我将它清理干净

取instruct1,
取instruct2,取datas1
取instruct3,取datas2,过程datas1
取instruct4,取datas3,过程datas2,商店1 datas1
取instruct5,取datas4,过程datas3,商店2 datas1
取instruct6,取datas5,过程datas4,store3 datas1
取instruct7,取datas6,过程datas5,store4 datas1
取instruct8,取datas7,过程datas6,store5 datas1

基本上这些处理器 第1部分 ALU的主要部件:算术逻辑单元(这是draeing会派上用场) AN ALU具有2个输入端口和一个输出端口。 2个输入端口进行操作并输出结果。要知道ALU必须完成的指令是一个控制端口。 基本上这是命令的名称。所以如果控制端口有4位,则有16条可能的指令。

第2部分 寄存器单元:这是一组存储单元(高速缓冲存储器)。该存储器的内容通常被传送到ALU的输入端口。

第3部分 控制单元:这有点像cpu的管弦乐大师。它的工作是将数据发送到ALU输入 2读取指令寄存器中需要发生的指令,将这些指令发送到ALU控制端口

接口。这是RAM和其他外围设备如何与CPU通信的方式。每次输入结果都必须存储。它可以存储在RAM中,因此一旦结果准备就绪,RAM必须准备就绪。同时,可以发生下一条指令输入的RAM读取。同时,下一条指令可以从RAM中读取。

生成1条指令通常需要超过1个时钟周期。加工结构与工业生产相类似。因此,连锁工作已经完成。

VLIW我们编写的程序是线性的,意味着指令一个接一个地发生。但是今天的CPU(不是ARM)有多个ALU,所以同时处理多条指令。

所以,你必须处理单元链在同一时间(管道) 工作多条指令,你有很多的这些单位的(超标)

然后它变成什么可以/需要做的泰勒一个问题你CPU架构。

2

我做了一个类似的项目,用VHDL实现了一个带有5级流水线的处理器。首先,您必须了解处理器的工作原理。如果不明白每一种方法在做什么以及需要什么样的控制信号,那么你就没有希望用VHDL写一个。其次,开始绘制指令和数据如何流过处理器(即通过每个阶段)的图表。每个阶段如何相互联系?控制信号去哪里了?我的投入从哪里来,我的产出在哪里?

一旦你有了一个坚实的图表,VHDL中的实际应用应该是相对直接的。您可以使用VHDL的行为建模来从本质上解释您在图表中看到的内容。