我如何在HDL(Verilog/VHDL)中推断VRTEX/E器件的SRL16?-Xilinx-AMD社区-FPGA CPLD-ChipDebug

我如何在HDL(Verilog/VHDL)中推断VRTEX/E器件的SRL16?

描述

关键词:SRL,推断,1999,1E

紧迫性:标准

一般描述:
最新版本的LeonardoSpectrum(1999年1E在这个答案记录的写作)支持SRL16S的VIETEX设计推断。以下两个变量控制:

-第一个变量启用SRL映射(默认值:TRUE):
设置VisteXMIPAX-SRL真

-第二个变量将SRL打包成单个切片(默认值:TRUE):
设置ViTrimeMaPr.SrLyPoCube真

注:
-在Synplify中,SRL在可能的情况下默认映射。
– Synplify目前不映射到SRL时,管道(循环)是两个和下。这将被固定在下一个软件版本中。

下面的编码样式既适用于示例又适用于同步化。

解决方案

VRTEX SRL16推理的VHDL实例设计

注:此设计推断十六SRL16S与16的管道延迟。

库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
使用IEEE.STDLogLogic UNSIGNED;

实体流水线
泛型(循环:整数:=16;
宽度:整数:=16;
端口(输入:在STdLogLogic矢量中(宽度1下降到0);
CLK:在STDYLogic中;
输出:输出StdLogLogic向量(宽度1下降到0);
终端流水线延迟;

管道延迟的体系结构行为
MyType的类型是STdLogLogic向量的数组(0到循环1)(宽度-1下降到0);
信号Itsig:Mype型;

开始

主要工艺:(CLK)
开始
如果CLK’事件和CLK =“1”,那么
输入和输出(0至循环- 2);
如果结束;
结束过程主;

输出& lt=整数(周期1);

结束行为;

Verilog实例

注:此设计推断三SRL16S与4管道延迟。

模块SRLE实例(CLK,使能,DATAYIN,结果);
参数循环=4;
参数宽度=3;

输入CLK,使能;
输入[ 0:宽度]数据输入;
输出[ 0:宽度]结果;

Reg〔0:宽度-1〕移位〔Cys-1∶0];
整数i;

总是@(POSEDGE CLK)
开始

如果(启用= 1)开始
对于(i=(CyCl-1);i和gt;0;i=i-1)移位[i]=位移[I-1 ];
移位〔0〕=DATAIIN;
结束
结束
分配结果=移位[循环-1 ];
终端模块

请登录后发表评论

    没有回复内容