VHDL示例:
1 s& ]. C4 \" J/ D# _9 H. Q% A库IEEE; 使用IEEE.STDYLogiC1164。
9 o8 |: i' `. ~7 W0 V1 l# m* }2 i# D实体SRLTEST是 端口(DATAT:STDYLogLogic向量(7下降到0); CLK,EN:在STDYLogic中; 前台:整数范围3下降到0; OutDATA:ExtSdLogLogic向量(7下降到0); - C2 g* b3 b; o7 {
结束SRLTEST; 0 F, z" `; P2 V6 ]* l7 o
SRLTEST的体系结构RTL是 ; J. b7 B8 j' B! G) R8 k! K
类型数据类型是StdLogLogic向量的数组(3下降到0)(7下降到0); 信号存储库:数据类型;
' X8 N" Q" o0 w( ]: I- V开始
3 G6 r3 q; z( \8 E# ]1 kOutDATA & L. = ReGeBub(前台);
6 Q1 d7 y1 k$ p6 v0 q% B进程(CLK,InDATA)开始 1 H# Q* P8 P5 j2 v% n
如果(CLK’事件和CLK=‘1’),则 如果(EN=‘1’),则 RigBand & lt;=(ReGeBand(2下降到0)&吲达塔); 结束如果; 结束如果;
n: ], ^+ s& n" H2 f结束过程; $ C' ^# E4 u5 } C1 C/ g) u T h
结束RTL;
* O6 B' S7 G% Z5 `; l7 m; Q6 ~下面的示例取自SypPrimePro用户指南(C:\SypLyth\SypLIFIFY70\doc),页面4-80:
) Z1 O5 \- n O! p% aVerilog示例: 6 ^9 k/ I/ e0 L0 B6 [- k3 `
模块TestSRL(CLK,使能,数据,结果,ADDR);
3 F# G& w ~, Q2 g& a h输入CLK,使能; 输入[3:0]数据; 输入[3:0] ADDR; 输出[3:0]结果; 8 H- N7 C% S7 a3 }' y- k
Reg [3:0] ReGubs[15:0]; 整数i; # s3 k/ E2 l6 H
总是@(POSEDGE CLK)开始 , e& F* j4 |- X* T2 _- w
如果(启动==1)开始
7 b" @- G+ I! m3 m对于(i=15;i>0;i=i-1)开始 RigBoo & lt;= ReGrave[I-1 ]; 结束语 ' J2 x: E1 ]4 A `4 _) h' t
ReGeBl[ 0 ] & lt;=DATAIN;
4 }& A' F( T4 o! F5 o/ @; C结束语 结束语 2 j: l" M9 q: {5 c1 X, x D& a
分配结果=ReGeBave[ADDR]; 3 |: Q2 T3 g8 Z/ f5 c r
终端模块 |