//
// 書き込み(regs[0] は常に 0)
// regs[1∼15] = reg_write_data;
//
if (reg_write_idx == 4’b0001) begin
regs_1 <= reg_write_data;
end if (reg_write_idx == 4’b0010) begin
regs_2 <= reg_write_data;
end if (reg_write_idx == 4’b0011) begin
regs_3 <= reg_write_data;
end if (reg_write_idx == 4’b0100) begin
regs_4 <= reg_write_data;
end if (reg_write_idx == 4’b0101) begin
regs_5 <= reg_write_data;
end if (reg_write_idx == 4’b0110) begin
regs_6 <= reg_write_data;
end if (reg_write_idx == 4’b0111) begin
regs_7 <= reg_write_data;
end if (reg_write_idx == 4’b1000) begin
regs_8 <= reg_write_data;
end if (reg_write_idx == 4’b1001) begin
regs_9 <= reg_write_data;
end if (reg_write_idx == 4’b1010) begin
regs_10 <= reg_write_data;
end if (reg_write_idx == 4’b1011) begin
regs_11 <= reg_write_data;
end if (reg_write_idx == 4’b1100) begin
regs_12 <= reg_write_data;
end if (reg_write_idx == 4’b1101) begin
regs_13 <= reg_write_data;
end if (reg_write_idx == 4’b1110) begin
regs_14 <= reg_write_data;
end if (reg_write_idx == 4’b1111) begin
regs_15 <= reg_write_data;
end
end
end // End: if (reg_write_enable == 1’b1) begin
end // End: always @(posedge clock or negedge reset) begin
endmodule
参考文献
[1] http://www.altera.co.jp/products/software/quartus-ii/modelsim/qts-model
sim-index.html Mentor Graphics ModelSim - Altera ソフトウェア.
[2] http://www.altera.co.jp/products/software/quartus-ii/web-edition/qts-we-
index.html Quartus II ソフトウェア ウェブ・エディション.
[3] VDEC 監修, 浅田邦博. ディジタル集積回路の設計と試作. 培風館, 2000.
[4] 深山正幸, 北川章夫, 秋田純一, 鈴木正國. HDL による VLSI 設計 – Verilog-HDL と
VHDL による CPU 設計 –. 共立出版株式会社, 1999.
[5] 白石肇. わかりやすいシステム LSI 入門. オーム社, 1999.
38