仅对英特尔可见 — GUID: mwh1409959594111
Ixiasoft
1.4.3.2. 包含均匀间隔的抽头(tap)的移位寄存器
下面示例显示了一个Verilog HDL和VHDL 8-bit宽,255-bit长的移位寄存器(W > 1和M = 255),包括在64、128、192和254上均匀分布的抽头(tap)。
综合软件在单一ALTSHIFT_TAPS IP core中实现此功能,并将其映射到受支持器件中的RAM,这是在专用RAM模块或MLAB存储器中所允许的布局。
包含均匀间隔的抽头(tap)的Verilog HDL 8比特宽,255比特长的移位寄存器
module top (clk, shift, sr_in, sr_out, sr_tap_one, sr_tap_two,
sr_tap_three );
input clk, shift;
input [7:0] sr_in;
output [7:0] sr_tap_one, sr_tap_two, sr_tap_three, sr_out;
reg [7:0] sr [254:0];
integer n;
always @ (posedge clk)
begin
if (shift == 1'b1)
begin
for (n = 254; n>0; n = n-1)
begin
sr[n] <= sr[n-1];
end
sr[0] <= sr_in;
end
end
assign sr_tap_one = sr[64];
assign sr_tap_two = sr[128];
assign sr_tap_three = sr[192];
assign sr_out = sr[254];
endmodule