2014/09/01_FPGAで3to8decorder改

FPGA

先日に引き続き、デコーダ回路を作成。(先日と同じやつですが)
今回は、トップモジュール、下位モジュールで分けてみました。動作例は先日の記事に記載しているので割愛します。

以下ソース

decorder_top.v

`timescale 1ns / 1ps
module decorder_top(
	input clk,
	input [2:0] ssw,
	output [7:0] led
    );

decorder3to8 dec(.ssw(ssw),.led(led));


endmodule
      
	      

decorder3to8.v

`timescale 1ns / 1ps
module decorder3to8(
	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;
			default: led<=8'bxxxxxxxx;
		endcase
	end
endmodule
      

decorder3to8.ucf

NET "clk" LOC = L15;

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;

このような感じです。

次は単一な回路でなく組み合わせ回路をつくりたいと思います。