一水寒

【再说FPGA】Verilog生成语句以及Xilinx原语的使用示例

0
阅读(5414)

最近做QDR II SRAM控制器,要用到xilinx的原语IDDR,我的数据输入输出是18位的,又用到Generate将一位输入输出IDDR扩成18,以前没用过generate,也不太熟悉,现在已熟悉其应用场合及其用法,不多解释,看如下代码实例,一目便了然:

module SRAM_IDDR_RD_DATA_18(Q1,Q2,C,CE,D ); output [17:0] Q1,Q2; input C; input CE; input [17:0] D; parameter NUM = 18; wire R; wire S; assign R = 1'b0; assign S = 1'b0; genvar i; generate for(i = 0; i < NUM; i = i + 1) begin: IDDR_18 IDDR #( .DDR_CLK_EDGE("SAME_EDGE_PIPELINED"), .INIT_Q1(1'b0), .INIT_Q2(1'b0), .SRTYPE("SYNC") ) IDDR_inst ( .Q1(Q1[i]), .Q2(Q2[i]), .C(C), .CE(CE), .D(D[i]), .R(R), .S(S)); end endgenerate endmodule


Baidu
map