?? adc_bcd27seg_dec.v
字號:
//*****************************************************************************************//
// Project : FPGA based Digital Design using Verilog HDL
// File : adc_top.v
// Author : Irfan Faisal Mir & Nauman Mir
// Company : Chip Designing Course
// Start Date :
// Last Updated :
// Version : 0.1
// Abstract : This module implements...........
//
// Modification History:
//==========================================================================================
// Date By Version Change Description
//==========================================================================================
// Irfan & Nauman 0.1 Original Version
//
//******************************************************************************************//
// BCD to Seven Segment Decoder
module adc_bcd27seg_dec(// Input
clk,
rst_n,
data_in,
data_rdy,
// Output
data_out
);
//====== Port Declaration ========//
input clk ;
input rst_n ;
input [7:0] data_in ;
input data_rdy ;
output [14:0] data_out ;
wire [14:0] data_out ;
reg [6:0] data_out1 ;
reg [7:0] data_out2 ;
assign data_out = {data_out2, data_out1} ;
always @(posedge clk or negedge rst_n)
begin
if(~rst_n) begin
data_out1 <= #1 7'd0 ;
end
else begin
case({data_rdy, data_in[3:0]})
5'b1_0000 : data_out1 <= #1 7'b0111111 ; // Format: 7'Bgfedcba
5'b1_0001 : data_out1 <= #1 7'b0000110 ; // Format: 7'Bgfedcba
5'b1_0010 : data_out1 <= #1 7'b1011011 ; // Format: 7'Bgfedcba
5'b1_0011 : data_out1 <= #1 7'b1001111 ; // Format: 7'Bgfedcba
5'b1_0100 : data_out1 <= #1 7'b1100110 ; // Format: 7'Bgfedcba
5'b1_0101 : data_out1 <= #1 7'b1101101 ; // Format: 7'Bgfedcba
5'b1_0110 : data_out1 <= #1 7'b1111100 ; // Format: 7'Bgfedcba
5'b1_0111 : data_out1 <= #1 7'b0000111 ; // Format: 7'Bgfedcba
5'b1_1000 : data_out1 <= #1 7'b1111111 ; // Format: 7'Bgfedcba
5'b1_1001 : data_out1 <= #1 7'b1100111 ; // Format: 7'Bgfedcba
default : data_out1 <= #1 7'b1000000 ; // Format: 7'Bgfedcba
endcase
end
end
always @(posedge clk or negedge rst_n)
begin
if(~rst_n) begin
data_out2 <= #1 8'd0 ;
end
else begin
case({data_rdy, data_in[7:4]})
5'b1_0000 : data_out2 <= #1 8'b1_0111111 ; // Format: 8'B dot_gfedcba
5'b1_0001 : data_out2 <= #1 8'b1_0000110 ; // Format: 8'B dot_gfedcba
5'b1_0010 : data_out2 <= #1 8'b1_1011011 ; // Format: 8'B dot_gfedcba
5'b1_0011 : data_out2 <= #1 8'b1_1001111 ; // Format: 8'B dot_gfedcba
5'b1_0100 : data_out2 <= #1 8'b1_1100110 ; // Format: 8'B dot_gfedcba
5'b1_0101 : data_out2 <= #1 8'b1_1101101 ; // Format: 8'B dot_gfedcba
5'b1_0110 : data_out2 <= #1 8'b1_1111100 ; // Format: 8'B dot_gfedcba
5'b1_0111 : data_out2 <= #1 8'b1_0000111 ; // Format: 8'B dot_gfedcba
5'b1_1000 : data_out2 <= #1 8'b1_1111111 ; // Format: 8'B dot_gfedcba
5'b1_1001 : data_out2 <= #1 8'b1_1100111 ; // Format: 8'B dot_gfedcba
default : data_out2 <= #1 8'b0_1000000 ; // Format: 8'B dot_gfedcba
endcase
end
end
endmodule
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -