0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种简易缓存控制器的设计

454398 来源:网络整理 作者:网络整理 2019-11-15 17:28 次阅读

第1步:规范

一种简易缓存控制器的设计

这些是我们要执行的 Cache Controller 的主要规范设计:

直接映射。

单银行阻止缓存。

“写入”匹配的直通策略。

在写未命中时不写分配或在周围写策略。

无写缓冲区或其他优化。

标记数组已合并。

此外,我们将设计一个缓存和一个主存储系统

高速缓存的默认(可配置)规格

256字节单存储高速缓存。

16个缓存行,每个缓存行(块)= 16字节。

主内存的规格:

同步读/写内存。

多存储区交错存储-四个存储区。

每个存储区大小= 1 kB。因此,总大小= 4 kB。

具有10位地址总线的字(4字节)可寻址存储器。

更高的读取带宽。在一个时钟周期内读取数据宽度= 16字节。

写入数据宽度= 4字节。

注意:如果您正在寻找4路关联高速缓存控制器设计,请检查我的较新版本

步骤2:整个系统的RTL视图

顶部模块的完整RTL表示形式如图所示(不包括处理器)。总线的默认规格为:

所有数据总线均为32位总线。

地址总线= 32位总线(但是内存在这里只能寻址10位)。

数据块= 128位(用于读取的宽带宽总线)。

所有组件均由同一时钟驱动。

步骤3:测试环境

顶部模块是使用测试台进行测试,该测试台仅对非流水线处理器进行建模(因为设计整个处理器绝非易事!)。测试台经常向存储器生成读/写数据请求。这模拟了处理器执行的所有程序中常见的典型“加载”和“存储”指令。测试结果成功验证了缓存控制器的功能。以下是观察到的测试统计信息

所有读/写未命中和命中信号均正确生成。

所有读取/写入数据操作均成功。

检测到数据不一致/不一致问题。

该设计已成功通过时序验证了Maxm。 Xilinx Virtex-4 ML-403板(整个系统)的工作时钟频率= 110 MHz,仅高速缓存控制器为195 MHz。

为主存储器推断出Block RAM。其他所有数组都在LUT上实现。

步骤4:附加文件

以下博客随此文件附在此处:

.VHD文件。

测试平台。

有关Cache Controller的文档。

注意:

通读该文档以全面了解此处介绍的缓存控制器的规格。

代码中的任何更改都依赖于其他模块。因此,应明智地进行更改。注意我给的所有评论和标题。

如果出于某种原因,无法为主内存推断出Block RAM,请减小内存的大小,然后更改文件中的地址总线宽度,依此类推。这样就可以在LUT或分布式RAM上实现相同的内存。这样可以节省路由时间和资源。或者,转到特定的FPGA文档,找到与Block RAM兼容的代码,并相应地编辑代码,并使用相同的地址总线宽度规范。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15145

    浏览量

    170929
收藏 人收藏

    评论

    相关推荐

    基于FPGA的一种SDRAM控制器简易化设计方法

    电子发烧友网站提供《基于FPGA的一种SDRAM控制器简易化设计方法.pdf》资料免费下载
    发表于 10-26 09:08 0次下载
    基于FPGA的<b class='flag-5'>一种</b>SDRAM<b class='flag-5'>控制器</b><b class='flag-5'>简易</b>化设计方法

    一种大电流无传感BLDC电机控制器电路

      在这篇文章中,我们将讨论一种大电流无传感 BLDC电机控制器电路,该电路不依赖于霍尔效应传感来启动操作,而是利用电机的反电动势进行顺序输入   对于正确的换向,大多数三相 BL
    发表于 09-14 16:09

    ARM L220 2级缓存控制器(AC131)勘误表

    2级缓存控制器(AC131)本文件描述了按严重程度分类的勘误表。每种描述都包括:•缺陷的当前状态•实施偏离规范的地方以及错误行为发生的条件•勘误表对典型应用程序的影响•可能的情况下“变通办法”的应用和限制
    发表于 09-04 07:22

    如何使用DSP库中的PID控制器功能

    方法可以执行 PID 控制器。 其中一种是使用 DSP 库,另一种是使用 C 功能。 与 C 功能相比, DSP 库的执行速度更快 。 您可以在下列时间下载样本代码http://www.nuvoton.com/resource
    发表于 08-31 07:58

    基于STM32WL系列微控制器构建特定LoRa应用程序

    本应用笔记将指导用户完成基于STM32WL系列微控制器构建特定LoRa@应用程序所需的所有步骤。 LoRaR是一种无线通信网络,旨在以极低的比特率进行远距离通信,并延长电池供电型传感的寿命
    发表于 08-14 11:38

    Avago 12Gb/s SAS MegaRAID控制器的RAID缓存优势

    电子发烧友网站提供《Avago 12Gb/s SAS MegaRAID控制器的RAID缓存优势.pdf》资料免费下载
    发表于 08-03 11:02 0次下载
    Avago 12Gb/s SAS MegaRAID<b class='flag-5'>控制器</b>的RAID<b class='flag-5'>缓存</b>优势

    CoreLink 2级MBIST控制器L2C-310技术参考手册

    确保单元正确操作。在这样做的过程中,在MBIST使用的地址和数据路径中实现了些额外的测试覆盖。您只能将MBIST控制器缓存控制器起使用
    发表于 08-02 17:33

    L220高速缓存控制器技术参考手册

    当处理产生大量内存流量时,添加片上二级缓存(也称为二级或二级缓存)是提高基于ARM的系统性能的公认方法。根据定义,二级缓存假定存在与处理
    发表于 08-02 15:09

    L220 MBIST控制器技术参考手册

    确保单元正确操作。在这样做的过程中,在MBIST使用的地址和数据路径中实现了些额外的测试覆盖。必须仅将L220 MBIST控制器与L220缓存控制器
    发表于 08-02 14:47

    L210高速缓存控制器技术参考手册

    当中央处理(CPU)产生大量内存流量时,添加片上二级缓存(也称为二级缓存,L2CC)是提高计算机系统性能的公认方法。根据定义,二级缓存假定存在与CPU紧密耦合或内部的
    发表于 08-02 13:11

    PrimeCell彩色LCD控制器(PL110)技术参考手册

    ARM PrimeCell彩色液晶显示控制器(CLCDC)是一种高级微控制器总线架构(AMBA)主从模块,连接到高级高性能总线(AHB)。PrimeCell CLCDC是款符合AMB
    发表于 08-02 08:46

    PrimeCell AHB SRAM/NOR存储控制器(PL241)技术参考手册

    AHB MC是一种符合高级微控制器总线体系结构(AMBA)的片上系统(SoC)外围设备。它由ARM有限公司开发、测试和许可。 AHB MC利用了新开发的静态存储控制器(SMC)。AH
    发表于 08-02 07:14

    如何将NodeMCU连接到XBOX 360控制器

    到 NPN 和 PNP 晶体管。我已经翻转并尝试了每一种配置,但它什么也没做。我试过在晶体管的基极上加电阻,也试过给它加上拉电阻。 当我按下 Blynk 上的按钮时,NodeMCU 板上的红色 LED 熄灭,但控制器上的按钮没有被按下。
    发表于 05-24 06:44

    什么是CPK-1型微差压控制器

    CPK-1型微差压控制器一种简易的二位式微差压变送装置,里面的膜片将仪表分成高、低压两个密闭腔室。
    发表于 05-13 10:42 516次阅读
    什么是CPK-1型微差压<b class='flag-5'>控制器</b>

    MCU控制器是什么?MCU控制器有哪些作用?

    mcu控制器是什么意思   MCU控制器是Microcontroller Unit的简称,中文名称为“单片机”,是一种集成了处理、存储
    发表于 05-05 14:59