1. 程式人生 > >#FPGA# Lesson實現3—8譯碼器

#FPGA# Lesson實現3—8譯碼器

一、原理 1、簡述:三位二進位制訊號的輸入,實現八位二進位制訊號的輸出 2、真值表如下 其中 A、B、C是三路輸入,EN為使能端

在這裡插入圖片描述 二、實驗程式碼

module My3_8(a,b,c,out);
 input a;
 input b;
 input c;
 output reg [7:0]out;
 
 [email protected](a,b,c)
  begin
   case({a,b,c})
   3'b000:out=8'b0000_0001;
   3'b001:out=8'b0000_0010;
   3'b010:out=8'b0000_0100;
   3'b011:out=8'b0000_1000;
   3'b100:out=8'b0001_0000;
   3'b101:out=8'b0010_0000;
   3'b110:out=8'b0100_0000;
   3'b111:out=8'b1000_0000;
   endcase
  end 
endmodule

三、Verilog 語言 語法總結 1、位寬設定:輸出為八位,從第0位開始則為[7:0];如果是高四位設為[7:4],即輸出是從第四位開始。 2、[email protected](…)語句;括號裡是敏感訊號,當敏感訊號變化時,[email protected](…)中的語句也要發生變化。 3、語句什麼時候並行執行,什麼時候序列執行? Verilog語言不同於C語言等程式語言,它是硬體描述語言。 像always塊、initial塊語句是併發執行;Begin …end中的語句是順序執行。 4、case 語句的用法 case({a,b,c})//花括號實現a,b,c的一個連線 … … endcase