blob: 9f44f1d10e4cd3ac95df3d3df86744f5715e6d1b [file] [log] [blame]
// SPDX-FileCopyrightText:
// 2021 Nguyen Dao
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// SPDX-License-Identifier: Apache-2.0
module W_CPU_IO_ConfigMem (FrameData, FrameStrobe, ConfigBits, ConfigBits_N);
parameter MaxFramesPerCol = 20;
parameter FrameBitsPerRow = 32;
parameter NoConfigBits = 20;
input [FrameBitsPerRow-1:0] FrameData;
input [MaxFramesPerCol-1:0] FrameStrobe;
output [NoConfigBits-1:0] ConfigBits;
output [NoConfigBits-1:0] ConfigBits_N;
wire [20-1:0] frame0;
//instantiate frame latches
LHQD1 Inst_frame0_bit31(
.D(FrameData[31]),
.E(FrameStrobe[0]),
.Q(ConfigBits[19]),
.QN(ConfigBits_N[19])
);
LHQD1 Inst_frame0_bit30(
.D(FrameData[30]),
.E(FrameStrobe[0]),
.Q(ConfigBits[18]),
.QN(ConfigBits_N[18])
);
LHQD1 Inst_frame0_bit29(
.D(FrameData[29]),
.E(FrameStrobe[0]),
.Q(ConfigBits[17]),
.QN(ConfigBits_N[17])
);
LHQD1 Inst_frame0_bit28(
.D(FrameData[28]),
.E(FrameStrobe[0]),
.Q(ConfigBits[16]),
.QN(ConfigBits_N[16])
);
LHQD1 Inst_frame0_bit27(
.D(FrameData[27]),
.E(FrameStrobe[0]),
.Q(ConfigBits[15]),
.QN(ConfigBits_N[15])
);
LHQD1 Inst_frame0_bit26(
.D(FrameData[26]),
.E(FrameStrobe[0]),
.Q(ConfigBits[14]),
.QN(ConfigBits_N[14])
);
LHQD1 Inst_frame0_bit25(
.D(FrameData[25]),
.E(FrameStrobe[0]),
.Q(ConfigBits[13]),
.QN(ConfigBits_N[13])
);
LHQD1 Inst_frame0_bit24(
.D(FrameData[24]),
.E(FrameStrobe[0]),
.Q(ConfigBits[12]),
.QN(ConfigBits_N[12])
);
LHQD1 Inst_frame0_bit23(
.D(FrameData[23]),
.E(FrameStrobe[0]),
.Q(ConfigBits[11]),
.QN(ConfigBits_N[11])
);
LHQD1 Inst_frame0_bit22(
.D(FrameData[22]),
.E(FrameStrobe[0]),
.Q(ConfigBits[10]),
.QN(ConfigBits_N[10])
);
LHQD1 Inst_frame0_bit21(
.D(FrameData[21]),
.E(FrameStrobe[0]),
.Q(ConfigBits[9]),
.QN(ConfigBits_N[9])
);
LHQD1 Inst_frame0_bit20(
.D(FrameData[20]),
.E(FrameStrobe[0]),
.Q(ConfigBits[8]),
.QN(ConfigBits_N[8])
);
LHQD1 Inst_frame0_bit19(
.D(FrameData[19]),
.E(FrameStrobe[0]),
.Q(ConfigBits[7]),
.QN(ConfigBits_N[7])
);
LHQD1 Inst_frame0_bit18(
.D(FrameData[18]),
.E(FrameStrobe[0]),
.Q(ConfigBits[6]),
.QN(ConfigBits_N[6])
);
LHQD1 Inst_frame0_bit17(
.D(FrameData[17]),
.E(FrameStrobe[0]),
.Q(ConfigBits[5]),
.QN(ConfigBits_N[5])
);
LHQD1 Inst_frame0_bit16(
.D(FrameData[16]),
.E(FrameStrobe[0]),
.Q(ConfigBits[4]),
.QN(ConfigBits_N[4])
);
LHQD1 Inst_frame0_bit15(
.D(FrameData[15]),
.E(FrameStrobe[0]),
.Q(ConfigBits[3]),
.QN(ConfigBits_N[3])
);
LHQD1 Inst_frame0_bit14(
.D(FrameData[14]),
.E(FrameStrobe[0]),
.Q(ConfigBits[2]),
.QN(ConfigBits_N[2])
);
LHQD1 Inst_frame0_bit13(
.D(FrameData[13]),
.E(FrameStrobe[0]),
.Q(ConfigBits[1]),
.QN(ConfigBits_N[1])
);
LHQD1 Inst_frame0_bit12(
.D(FrameData[12]),
.E(FrameStrobe[0]),
.Q(ConfigBits[0]),
.QN(ConfigBits_N[0])
);
endmodule