VHDL示例: ' x% [2 E$ x! F1 n
库IEEE; 使用IEEE.STDYLogiC1164。 , y9 o8 e8 G/ [/ X# h* g
实体SRLTEST是 端口(DATAT:STDYLogLogic向量(7下降到0); CLK,EN:在STDYLogic中; 前台:整数范围3下降到0; OutDATA:ExtSdLogLogic向量(7下降到0);
: _% z# P5 C# v2 S8 T' b9 S o结束SRLTEST;
! t: G) p+ k( F' YSRLTEST的体系结构RTL是 1 u5 |1 G, F6 x! k9 ?" U
类型数据类型是StdLogLogic向量的数组(3下降到0)(7下降到0); 信号存储库:数据类型; % m' \- H+ {3 u# @$ a& f
开始
" c3 x# \3 J7 I) m6 mOutDATA & L. = ReGeBub(前台); # q) |! R$ i! E) Y
进程(CLK,InDATA)开始
& m. W& H; `( k如果(CLK’事件和CLK=‘1’),则 如果(EN=‘1’),则 RigBand & lt;=(ReGeBand(2下降到0)&吲达塔); 结束如果; 结束如果;
# q5 j& G8 U' i8 O/ A结束过程;
! _/ K1 X* }- a5 d: f结束RTL; * L1 o& ~) z7 A0 W' w: [: G- T
下面的示例取自SypPrimePro用户指南(C:\SypLyth\SypLIFIFY70\doc),页面4-80: - e# A" h4 ]6 Z. U; I
Verilog示例:
! r! {, c j" c; `3 {+ P% a9 V模块TestSRL(CLK,使能,数据,结果,ADDR);
. u4 T; I& O1 [8 p( w" P9 a# E4 R$ g输入CLK,使能; 输入[3:0]数据; 输入[3:0] ADDR; 输出[3:0]结果; # W1 D( b: r3 z- d4 v
Reg [3:0] ReGubs[15:0]; 整数i;
% ]4 ~4 P# T* b% v, f& }- ^6 O总是@(POSEDGE CLK)开始 8 s# l8 N# P/ p
如果(启动==1)开始 % z( d2 o6 P. H* ~* ~5 d2 f
对于(i=15;i>0;i=i-1)开始 RigBoo & lt;= ReGrave[I-1 ]; 结束语 % g; F$ E5 g5 @. k
ReGeBl[ 0 ] & lt;=DATAIN;
" k7 s* I: O* E6 T1 r. j$ K5 a. E结束语 结束语
5 O4 z7 e5 y# u8 k9 D) o, ?# U分配结果=ReGeBave[ADDR];
/ c' X: k' b) I终端模块 |