向量存储器的参数化设计与验证

上传人:pu****.1 文档编号:392419386 上传时间:2023-05-05 格式:DOC 页数:5 大小:272.50KB
返回 下载 相关 举报
向量存储器的参数化设计与验证_第1页
第1页 / 共5页
向量存储器的参数化设计与验证_第2页
第2页 / 共5页
向量存储器的参数化设计与验证_第3页
第3页 / 共5页
向量存储器的参数化设计与验证_第4页
第4页 / 共5页
向量存储器的参数化设计与验证_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《向量存储器的参数化设计与验证》由会员分享,可在线阅读,更多相关《向量存储器的参数化设计与验证(5页珍藏版)》请在金锄头文库上搜索。

1、向量存储器的参数化设计与验证 Parameterized Design and Verification of Vector Memory 鑫大星(School of Computer Science, National University of Defense Technology)摘 要: 文章分析了YHFT-Matrix DSP片上的大容量向量存储器(Vector Memory,VM)的结构特征及其参数化设计需求,提取VM参数变量,使用基于Verilog硬件描述语言的参数化设计功能对VM进行IP核参数化设计和验证,增强了YHFT-Matrix应用灵活性和可重用性。 关键词:参数化;Ve

2、rilogHDL;IP核;向量存储器;DSP 1 引言 随着SoC(System on Chip)的发展,基于IP(Intellectual Property)核模块的功能组装正逐渐替代传统的功能设计而成为主流设计方法,其基本思路是:在系统设计的应用层次,利用现有的IP核资源,根据需求选用适当的IP核模块,进行系统集成设计2。IP核模块设计能使用户将精力集中于系统顶层与关键功能模块的设计上,致力于提高产品的整体性能和个性化特性,大大提高芯片设计商的设计能力,降低了日后开发新的嵌入式专用芯片系统的设计成本。 ,FT-Matrix 体系结构及IP核设计需求YHFT-Matrix 内核的整体结构如图

3、1所示,该结构包括统一的取指、派发部件、标量单元、向量处理单元、向量存储器、矩阵寄存器文件及DMA。其中取指派发部件采用10发射VLIW技术,可以 同时为标量、向量单元派发指令,标量单元执行标量指令,负责实现串行任务的处理以及对向量单元执行的控制;向量处理单元集成多个同构的计算单元,按SIMD方式完成向量指令操作,实现计算密集的并行任务的处理。向量访存单元为多宽度SIMD结构的向量运算提供高带宽的数据访存功能。矩阵寄存器文件通过对矩阵按列访问的支持,大大加速了应用中大量存在的矩阵类运算的执行。DMA实现VM和片外存储器的数据交换。图 1 FT-Matrix IP核体系结构其中向量存储器VM用以

4、实现向量数据的读写访问。可同时支持四个向量访问请求:包括两个向量load/store操作、 DMA和标量处理单元(SPU)对VM的读写访问操作,主要为向量处理部件(VPU)的向量处理单元(VPE)提供高带宽的数据访问。VM中的向量存储块个数与VPE的个数一一对应。即VPE0访问BANK0,VPE1访问BANK1,VPEN-1访问BANKN-1。 每个BANK由8个单端口 SRAM存储体构成,每个BANK按地址分成上下两部分,每部分地址按4体交叉组织结构编址,访存不冲突时最多可以同时支持4个访问请求:两个向量Load/Store访问、SPU和DMA访问。 YHFT-Matrix DSP IP核化

5、设计中,访存数据SIMD的宽度及其容量是可配置的。向量处理单元(VPU)中的VPE个数N最大为16,用户按需求还可设置N为8、4、2共四种配置;向量存储块(BANK)的个数N与VPE个数对应,具有完全相同的配置参数,即N=16、 8、4、2。向量存储块的容量可设置为64KB 或16KB 两种配置。3向量存储器的配置参数 3.1 VM的总体结构VM主要为向量处理部件(VPU)的向量处理单元(VPE)提供高带宽的数据访问,实现两个向量load/store操作,还可同时支持DMA和标量处理单元(SPU)对的读写访问操作。VM的主要功能模块包括向量存储块(BANK0BANKN-1)、访存同步控制器(M

6、SC)、向量地址产生单元(VAGU), 其组成接口框图如图2所示。图 2 VM组成接口框图向量地址产生单元 (VAGU)接收指令派发部件派发的向量访存指令并进行向量访存指令译码、向量地址计算、向量地址对齐、数据请求重整理等操作,分别由指令译码和地址产生两个流水站实现其逻辑功能。向量存储块(BANK)包含容量可配置的存储体(SRAM)和访存流水线控制器(VMC)。访存控制器VMC与向量存储块一一对应,即VMC0控制BANK0的访存流水线,VMC1控制BANK1的访存流水线,VMCN-1控制BANKN-1的访存流水线, 实现每个BANK的访存冲突总裁、访存信号的选择、访存、访存输出对齐等访存流水线

7、的控制。访存同步控制器(MSC)用来实现所有BANK之间的访存输入和输出同步。 3.2向量存储器的参数提取 ,表1 BANK容量为64KB时VM的配置 VM容量KB带宽bitBANKSRAM存储体102416*32 BANK0BANK152048*32Bit5128*32 BANK0BANK72564*32 BANK0BANK31282*32 BANK0BANK1表2 BANK容量为16KB时VM的配置VM容量KB带宽bitBANKSRAM存储体25616*32 BANK0BANK15512*32Bit1288*32 BANK0BANK7644*32 BANK0BANK3322*32 BANK

8、0BANK14基于Verilog-2001 HDL标准的参数化设计与实现4.1基于Verilog-2001标准的参数化设计语法 Verilog-1995标准在设计可扩展和可重复使用的模块或IP核时功能不强。在设计功能、性能、结构及优化策略等参数化的复杂结构时缺乏所需要的灵活性5。Verilog1364-2001标准在Verilog-1995的基础上有几个重要的改进,新标准对可重复使用的、可配置(参数化)的IP模型建模方面给予了更多的支持,能给出精确的深亚微米电路的时序特性,提高了ASICFPGA设计的正确性。Verilog1364-2001标准提高建模能力的改进主要包括:(1)增加了生成语句块

9、(genearate-endgenearate)。生成语句块中可以,同时生成多个变量、网络、任务、函数、连续赋值、初始化过程块和always过程块。生成语句块中也可以使用if/else或case语句有条件地生成声明语句和实例引用语句。 ,(4) 支持可重用任务和递归调用函数。在应用VerilogHDL进行IP核参数化设计时,可以使用多种语句定义参数,包括parameter声明语句、define宏定义语句、genvar语句和变量声明语句等。由宏定义语句定义的参数一般用于设定寄存器深度、数据线或地址线的宽度等。genvar语句用于存储正的整型变量,它的值可以在编译和详细描述时改变。生成循环中的索引

10、变量必须定义成genvar类型。生成语句块、宏定义与条件编译是IP核参数化设计时控制电路结构的主要手段。通过条件编译来决定某段程序参加编译或某段程序不参加编译,以实现某项功能是否保留、某个电路采用某种结构等目的。4.2 VM参数化设计实现 (1)参数定义文件ifdef VBSIZE64 define VB_DEPTH 16 else define VB_DEPTH 14 endif ifdef VPE_NUM16 define VPE_NUM 16 define SHIFT_NUM 4define VRB_ADDR 10 (2)使用generate生成参数化的实例模块当VM 的输入参数配置为:

11、VBSIZE=64,WORDWIDTH=32,VB_DEPTH=16,VPE_NUM=16时,VM的顶层模块VM_TOP_0.v 使用generateendgenerate)将有条件地生成16个BANK。genvar i; generate for(i=0;iVPE_NUM;i=i+1) begin:CREATE_BANK BANK_TOP BANK_INST (.clk(clk),.rst_n(rst_n),.DP_Stall(DP_Stall), .AGU_VMData00(AGU_VMData00(i+1)*32-1:i*32), .AGU_VMData10(AGU_VMData10(i+1)*32-1:i*32), .SMC_VMData0(SMC_VMData0(i+1)*32-1:i*32), .shift_num1_D2(shift_num1_D2_T(i+1)*SHIFT_NUM-1:i*SHIFT_NUM),.LS_Conflict(LS_Conflicti), /output to VM_TOP .VM_SMCDataEn0(VM_SMCDataEn0_Ti),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号