2014/08/30_FPGAで3to8decorder

FPGA

お久しぶりです。
最近は忙しいこともあってかホームページの更新ができていません。

お盆中も勉強しようと思いつつ、中々できなかったです。(休み中だらけるやつ~)
実は、休み中に大学からFPGAを借りて動かしていたわけですが、どうにも中身がブラックボックスだったり、
verilog-HDLの記述が分からなかったりで、悩んでいました。
そのような理由から、基礎の基礎から勉強することにして、簡単なロジック回路の設計をしました。
それというのが、3to8decorder(出力H)です。

以下ソース

decorder3to8.v

      `timescale 1ns / 1ps

module decorder(
	input wire [2:0] SSW,
	output reg [7:0] LED
);

always@(SSW)begin
	case(SSW)
		3'b000:LED <= 8'b00000001;
		3'b001:LED <= 8'b00000010;
		3'b010:LED <= 8'b00000100;
		3'b011:LED <= 8'b00001000;
		3'b100:LED <= 8'b00010000;
		3'b101:LED <= 8'b00100000;
		3'b110:LED <= 8'b01000000;
		3'b111:LED <= 8'b10000000;
	endcase
end

endmodule
	      

decorder3to8.ucf

NET "LED(7)" LOC = N12;
NET "LED(6)" LOC = P16;
NET "LED(5)" LOC = D4;
NET "LED(4)" LOC = M13;
NET "LED(3)" LOC = L14;
NET "LED(2)" LOC = N14;
NET "LED(1)" LOC = M14;
NET "LED(0)" LOC = U18;

NET "SSW[2]" LOC = C14;
NET "SSW[1]" LOC = D14;
NET "SSW[0]" LOC = A10;

このような感じです。

動作例
スライドスイッチが初期値(全てOFFのとき)はLED0が点灯。
スライドスイッチが010(SSW1のみONのとき)はLED2が点灯。
上記のような感じです。
次は階層構造を使用した回路を設計したいと思います。