Intel® Quartus® Prime Pro Edition用户指南: 设计建议

ID 683082
日期 9/28/2020
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

1.4.3.2. 包含均匀间隔的抽头(tap)的移位寄存器

下面示例显示了一个Verilog HDL和VHDL 8-bit宽,255-bit长的移位寄存器(W > 1M = 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