全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2516
推到 Plurk!
推到 Facebook!

fpga 七段顯示器 解碼器

尚未結案
REDASS
一般會員


發表:4
回覆:1
積分:1
註冊:2010-06-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-06-03 19:10:23 IP:111.249.xxx.xxx 訂閱
請問一下該如何 讓顯示器上的四個格子 顯示0205
我的程式碼
module DE0_TOP
(
//////////////////// Clock Input ////////////////////
CLOCK_50, // 50 MHz
CLOCK_50_2, // 50 MHz
//////////////////// Push Button ////////////////////
BUTTON, // Pushbutton[2:0]
//////////////////// DPDT Switch ////////////////////
SW, // Toggle Switch[9:0]
//////////////////// 7-SEG Dispaly ////////////////////
HEX0_D, // Seven Segment Digit 0
HEX0_DP, // Seven Segment Digit DP 0
HEX1_D, // Seven Segment Digit 1
HEX1_DP, // Seven Segment Digit DP 1
HEX2_D, // Seven Segment Digit 2
HEX2_DP, // Seven Segment Digit DP 2
HEX3_D, // Seven Segment Digit 3
HEX3_DP, // Seven Segment Digit DP 3
//////////////////////// LED ////////////////////////
LEDG, // LED Green[9:0]
//////////////////////// UART ////////////////////////
UART_TXD, // UART Transmitter
UART_RXD, // UART Receiver
UART_CTS, // UART Clear To Send
UART_RTS, // UART Request To Send
///////////////////// SDRAM Interface ////////////////
DRAM_DQ, // SDRAM Data bus 16 Bits
DRAM_ADDR, // SDRAM Address bus 13 Bits
DRAM_LDQM, // SDRAM Low-byte Data Mask
DRAM_UDQM, // SDRAM High-byte Data Mask
DRAM_WE_N, // SDRAM Write Enable
DRAM_CAS_N, // SDRAM Column Address Strobe
DRAM_RAS_N, // SDRAM Row Address Strobe
DRAM_CS_N, // SDRAM Chip Select
DRAM_BA_0, // SDRAM Bank Address 0
DRAM_BA_1, // SDRAM Bank Address 1
DRAM_CLK, // SDRAM Clock
DRAM_CKE, // SDRAM Clock Enable
//////////////////// Flash Interface ////////////////
FL_DQ, // FLASH Data bus 15 Bits
FL_DQ15_AM1, // FLASH Data bus Bit 15 or Address A-1
FL_ADDR, // FLASH Address bus 22 Bits
FL_WE_N, // FLASH Write Enable
FL_RST_N, // FLASH Reset
FL_OE_N, // FLASH Output Enable
FL_CE_N, // FLASH Chip Enable
FL_WP_N, // FLASH Hardware Write Protect
FL_BYTE_N, // FLASH Selects 8/16-bit mode
FL_RY, // FLASH Ready/Busy
//////////////////// LCD Module 16X2 ////////////////
LCD_BLON, // LCD Back Light ON/OFF
LCD_RW, // LCD Read/Write Select, 0 = Write, 1 = Read
LCD_EN, // LCD Enable
LCD_RS, // LCD Command/Data Select, 0 = Command, 1 = Data
LCD_DATA, // LCD Data bus 8 bits
//////////////////// SD_Card Interface ////////////////
SD_DAT0, // SD Card Data 0
SD_DAT3, // SD Card Data 3
SD_CMD, // SD Card Command Signal
SD_CLK, // SD Card Clock
SD_WP_N, // SD Card Write Protect
//////////////////// PS2 ////////////////////////////
PS2_KBDAT, // PS2 Keyboard Data
PS2_KBCLK, // PS2 Keyboard Clock
PS2_MSDAT, // PS2 Mouse Data
PS2_MSCLK, // PS2 Mouse Clock
//////////////////// VGA ////////////////////////////
VGA_HS, // VGA H_SYNC
VGA_VS, // VGA V_SYNC
VGA_R, // VGA Red[3:0]
VGA_G, // VGA Green[3:0]
VGA_B, // VGA Blue[3:0]
//////////////////// GPIO ////////////////////////////
GPIO0_CLKIN, // GPIO Connection 0 Clock In Bus
GPIO0_CLKOUT, // GPIO Connection 0 Clock Out Bus
GPIO0_D, // GPIO Connection 0 Data Bus
GPIO1_CLKIN, // GPIO Connection 1 Clock In Bus
GPIO1_CLKOUT, // GPIO Connection 1 Clock Out Bus
GPIO1_D // GPIO Connection 1 Data Bus
);

//////////////////////// Clock Input ////////////////////////
input CLOCK_50; // 50 MHz
input CLOCK_50_2; // 50 MHz
//////////////////////// Push Button ////////////////////////
input [2:0] BUTTON; // Pushbutton[2:0]
//////////////////////// DPDT Switch ////////////////////////
input [9:0] SW; // Toggle Switch[9:0]
//////////////////////// 7-SEG Dispaly ////////////////////////
output [6:0] HEX0_D; // Seven Segment Digit 0
output HEX0_DP; // Seven Segment Digit DP 0
output [6:0] HEX1_D; // Seven Segment Digit 1
output HEX1_DP; // Seven Segment Digit DP 1
output [6:0] HEX2_D; // Seven Segment Digit 2
output HEX2_DP; // Seven Segment Digit DP 2
output [6:0] HEX3_D; // Seven Segment Digit 3
output HEX3_DP; // Seven Segment Digit DP 3
//////////////////////////// LED ////////////////////////////
output [9:0] LEDG; // LED Green[9:0]
//////////////////////////// UART ////////////////////////////
output UART_TXD; // UART Transmitter
input UART_RXD; // UART Receiver
output UART_CTS; // UART Clear To Send
input UART_RTS; // UART Request To Send
/////////////////////// SDRAM Interface ////////////////////////
inout [15:0] DRAM_DQ; // SDRAM Data bus 16 Bits
output [12:0] DRAM_ADDR; // SDRAM Address bus 13 Bits
output DRAM_LDQM; // SDRAM Low-byte Data Mask
output DRAM_UDQM; // SDRAM High-byte Data Mask
output DRAM_WE_N; // SDRAM Write Enable
output DRAM_CAS_N; // SDRAM Column Address Strobe
output DRAM_RAS_N; // SDRAM Row Address Strobe
output DRAM_CS_N; // SDRAM Chip Select
output DRAM_BA_0; // SDRAM Bank Address 0
output DRAM_BA_1; // SDRAM Bank Address 1
output DRAM_CLK; // SDRAM Clock
output DRAM_CKE; // SDRAM Clock Enable
//////////////////////// Flash Interface ////////////////////////
inout [14:0] FL_DQ; // FLASH Data bus 15 Bits
inout FL_DQ15_AM1; // FLASH Data bus Bit 15 or Address A-1
output [21:0] FL_ADDR; // FLASH Address bus 22 Bits
output FL_WE_N; // FLASH Write Enable
output FL_RST_N; // FLASH Reset
output FL_OE_N; // FLASH Output Enable
output FL_CE_N; // FLASH Chip Enable
output FL_WP_N; // FLASH Hardware Write Protect
output FL_BYTE_N; // FLASH Selects 8/16-bit mode
input FL_RY; // FLASH Ready/Busy
//////////////////// LCD Module 16X2 ////////////////////////////
inout [7:0] LCD_DATA; // LCD Data bus 8 bits
output LCD_BLON; // LCD Back Light ON/OFF
output LCD_RW; // LCD Read/Write Select, 0 = Write, 1 = Read
output LCD_EN; // LCD Enable
output LCD_RS; // LCD Command/Data Select, 0 = Command, 1 = Data
//////////////////// SD Card Interface ////////////////////////
inout SD_DAT0; // SD Card Data 0
inout SD_DAT3; // SD Card Data 3
inout SD_CMD; // SD Card Command Signal
output SD_CLK; // SD Card Clock
input SD_WP_N; // SD Card Write Protect
//////////////////////// PS2 ////////////////////////////////
inout PS2_KBDAT; // PS2 Keyboard Data
inout PS2_KBCLK; // PS2 Keyboard Clock
inout PS2_MSDAT; // PS2 Mouse Data
inout PS2_MSCLK; // PS2 Mouse Clock
//////////////////////// VGA ////////////////////////////
output VGA_HS; // VGA H_SYNC
output VGA_VS; // VGA V_SYNC
output [3:0] VGA_R; // VGA Red[3:0]
output [3:0] VGA_G; // VGA Green[3:0]
output [3:0] VGA_B; // VGA Blue[3:0]
//////////////////////// GPIO ////////////////////////////////
input [1:0] GPIO0_CLKIN; // GPIO Connection 0 Clock In Bus
output [1:0] GPIO0_CLKOUT; // GPIO Connection 0 Clock Out Bus
inout [31:0] GPIO0_D; // GPIO Connection 0 Data Bus
input [1:0] GPIO1_CLKIN; // GPIO Connection 1 Clock In Bus
output [1:0] GPIO1_CLKOUT; // GPIO Connection 1 Clock Out Bus
inout [31:0] GPIO1_D; // GPIO Connection 1 Data Bus

//=======================================================
// REG/WIRE declarations
//=======================================================


//=======================================================
// Structural coding



這個是現有的資料 好像要用在veilog
module DEC_7SEG(Hex_digit, oHEX);
input [3:0] Hex_digit;
output [6:0] oHEX;
reg [6:0] segment_data;
always @(Hex_digit)
/* Case statement implements a logic truth table using gates*/
case (Hex_digit)
4’b 0000: segment_data = 7'b 0111111;
4’b 0001: segment_data = 7'b 0000110;
4’b 0010: segment_data = 7'b 1011011;
4’b 0011: segment_data = 7'b 1001111;
4’b 0100: segment_data = 7'b 1100110;
4’b 0101: segment_data = 7'b 1101101;
4’b 0110: segment_data = 7'b 1111101;
4’b 0111: segment_data = 7'b 0000111;
4’b 1000: segment_data = 7'b 1111111;
4’b 1001: segment_data = 7'b 1101111;
4’b 1010: segment_data = 7'b 1110111;
4’b 1011: segment_data = 7'b 1111100;
4’b 1100: segment_data = 7'b 0111001;
4’b 1101: segment_data = 7'b 1011110;
4’b 1110: segment_data = 7'b 1111001;
4’b 1111: segment_data = 7'b 1110001;
default: segment_data = 7'b 0111110;
endcase
/* extract segment data bits and invert */
/* LED driver circuit is inverted */
assign oHEX = ~segment_data;
endmodule
系統時間:2024-04-27 3:54:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!