在FPGA板上实现可配置处理器

对于一所大学的中期项目,我要设计一个可配置的处理器,来写VHDL代码,然后合成它在斯巴达3E FPGA板从Digilent公司。 我是个初学者所以你能指出我约可配置处理器的一些信息,对有关概念的一些想法?

--------------解决方案-------------

您可以检查出我的回答了相关的问题。 我们做了几乎相同,建立在VHDL一个CPU的FPGA板。

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

取instruct1,
取instruct2,取datas1
取instruct3,取datas2,过程datas1
取instruct4,取datas3,工艺datas2,store1 datas1
取instruct5,取datas4,工艺datas3,store2 datas1
取instruct6,取datas5,工艺datas4,store3 datas1
取instruct7,取datas6,工艺datas5,store4 datas1
取instruct8,取datas7,工艺datas6,store5 datas1

基本上这些处理器第1部分ALU的主要组成部分:算术逻辑单元(这就是draeing会派上用场)ALU中有2个输入端口和一个输出端口。 2个输入端口获得操作上,结果所输出的。 要知道哪些指令ALU已经完成有一个控制端口。 基本上,这是命令的名称。 因此,如果控制口具有4位有16种可能的指令。

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

第三部分控制单元:这是有点像CPU的乐团大师。 它的任务是1send数据到ALU输入2Readwhich指令需要发生在指令寄存器,发送这些代码ALU的控制端口

接口。 这是怎样的RAM和其它外设与CPU通信,

每次的intruction输出结果它必须被储存。 它可以存储在RAM中,从而柱塞写入必须准备一旦结果就绪。 同时,对下一个指令的输入的RAM中读出,也occurs.And同时,下一个指令可以从RAM取出。

产生1个指令通常需要超过1个时钟周期。 在梁支处理的是analogeous工业化生产。 于是链的工作已经完成。

VLIW我们写编程是线性的,这意味着指示发生一前一后。 但是,今天的CPU(而不是ARM的虽然)有多个ALU的这么多条指令都在同一时间处理。

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

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

我做了一个类似的项目,实施了5级流水线的VHDL处理器。

第一件事首先,你必须了解如何工作的处理器架构。 如果不明白每个STANGE是做什么样的控制信号,则需要你有没有希望实际编写之一VHDL的。

其次,开始绘制的指令和数据如何将流过你的处理器(即通过每一个阶段)的图。 每个阶段是如何挂接到彼此? 哪里的控制信号去? 哪里我输入来自哪里做我的输出去了?

一旦你有一个坚实的图,VHDL实际实施应该是比较简单的。 您可以使用VHDL的行为主义造型essetially解释正是你在图中看到的。

分类:处理器 时间:2012-01-01 人气:0
分享到:

相关文章

  • 模拟MIPS处理器的FPGA用Verilog 2012-02-14

    我试图模拟上用Verilog FPGA的一个简单的MIPS处理器. 这里是我的代码: module MIPS_Processor(output reg[7:0] LEDs, input[7:0] Switches); reg [31:0] memory[0:4095]; // 4K memory cells that are 32 bits wide reg [31:0] code[0:1023]; // 1K memory cells that are 32 bits wide reg [31

  • Python中,日志记录:使用自定义的处理器与词典的配置? 2012-05-18

    这是关于Python的3​​.2(GNU / Linux的x86_64的)记录模块:是有可能设定字典配置自定义处理程序? 这就是我想要的代码: import logging import logging.config class CustomHandler(logging.StreamHandler): pass logconfig = { 'version': 1, 'handlers': { 'console': { 'class': 'CustomHandler', } }, 'logge

  • FPGA编程VHDL和C 2013-08-21

    我有项目做. 它要求我使用FPGA. 主题是,我需要创建一个使用这将执行一些任务,像乘除VHDL在FPGA中的电路. 然后,我需要的PowerPC(内置在单片机中的Virtex 4)FPGA电路的输出中使用的PowerPC发送数据输入到该电路,然后收集数据. 我曾尝试在看手册,但未能理解FPGA电路与单片机之间的通信. 谷歌并没有帮助过.. 请让我知道,如果有一本书或一个更好的教程,可以帮助我在这个项目. 在此先感谢你的关心. 注:我使用的Virtex-4 FPGA ML403板. 再次感谢.

  • 我可以配置为升序栈生长方向的ARM处理器? 2014-11-20

    还有一直在这里有一个问题里面讲到堆栈增长的方向. 其中以迈克尔·伯尔了答复说的ARM处理器堆栈生长方向可配置 - 即要么降序(正常的行为)堆栈内存或上升,如堆栈增长朝着更高的内存地址的增长向零地址(低地址). 什么是堆栈增长的最现代化的系统的方向? 我的问题是:在ARM处理器上,我怎样才能使堆在上升方向生长? 如何配置堆栈的上升因为默认情况下它是降? 任何寄存器位设置/复位等. --------------解决方案------------- 那么,ARM处理器不保持堆栈directly--,但它

  • LCD的配置:传输发送和定时 2012-07-31

    我在编程VHDL和尝试配置的液晶. 我的问题涉及用于上电动初始化所​​需的液晶接口定时和次. 当进行初始化,例如,有用户指南中的某些时间限制,说是这样的: 等待15毫秒 写的0x30等待240ns 等待4.1ms等等等等 当我写的0x30的LCD应该我尊重240ns +接口定时的时代? (那些设置,使高,能保持,使低). 纠正我,如果我错了,但我认为这是当我在初始化我不关心的接口时序. 当我发出命令(如函数集,显示开/关,等等),我会照顾接口时序. 谢谢. ! --------------解决方

  • 专业VHDL IDE? 2012-12-08

    是否有一个良好的IDE与VHDL项目的工作? 或者,大多数专业人士工作使用Emacs / VIM /记事本+ +? --------------解决方案------------- 我使用Emacs + VHDL-模式,是伟大的,如果你不介意(或已经攀升)的Emacs的学习曲线. 另外,您也可以尝试Sigasi-HDT是基于Eclipse的,有更多的GUI. 并通过它的外观的一些更强大的重构工具. 我一直在使用Sigasi HDT因为它被释放在一月份(我认为),我非常高兴能与它为止. 以前我用的V

  • 如何FPGA的“更新” 2013-08-10

    我似乎印象中的FPGA可以在芯片运行时进行更新下; 我需要知道这是否是正确与否. 这似乎是从我读过,你可以以同样的方式,你可以改变多数民众赞成在处理器上运行的程序改变FPGA网表上的需求. 是的,我知道,一个FPGA不是一个处理器. 是我的假设是正确的,如果没有的话怎么来的? --------------解决方案------------- 在大多数情况下,你一次性加载配置整个FPGA,以及所有逻辑停止在重新配置过程中运行. 这听起来像你要重新加载FPGA的一个子集,而剩下的继续运行. 您需要与部

  • 入门FPGA开发 2013-12-02

    我想获得一个FPGA开发板,其目标是模拟一个CD-ROM驱动器. 我的问题是: 是否有允许在C / C ++编写代码,而不是任何VHDL FPGA? 如果你有推荐一款主板,哪一个会是这样? 哪本书,你会推荐买? 还有什么,我应该继续之前知道吗? --------------解决方案------------- A)那么直接写入C ++代码是没有意义的,但是你可以模拟处理器和写C / C ++吧. 我已经做到了这一点. 我会从ALTERA推荐起始包不买东西对于初学者真的很贵. B)http://ww

  • 在FPGA中的神经网络模拟器? 2014-07-27

    要了解FPGA编程,我计划编写了一个简单的神经网络的FPGA(因为它是大规模并行,这是哪里的FPGA实现可能有比一个CPU实现更快的机会的几件事情之一). 虽然我熟悉C语言编程(10年以上). 我不敢肯定与FPGA开发的东西. 你能提供什么我应该做一个引导列表/学习/买? 谢谢! --------------解决方案------------- 我想指出一个潜在的问题,在FPGA中实现的神经网络. FPGA已经限制了布线资源量. 与逻辑资源(触发器,查找表,记忆),布线资源难以量化. 也许一个简单

  • 如何配置添加到Xcode的? 2012-05-08

    有没有别的办法,我搜索了很多. 在Xcode中3,这是容易的,但现在.. 在上面的屏幕,我的生成配置,所以我可以选择,如果我想: 调试 推出 这2种配置中,在"生成设置"选项卡(在目标配置)自己的配置. 要创建我第三个, 分布 ,在这里读书,这表明在XCode中3本图片 我在哪里可以做相同的XCode 4 ???? 编辑 - >只有创建一个新的架构没有工作,像这样在"生成设置"目标的标签的配置. 我选择了"调试"和"释放"

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.507 (s). 10 q(s)