ALTERA DE2 之 verilog HDL 学习笔记02 - 数码管

来源:互联网 发布:statistics软件 编辑:程序博客网 时间:2024/06/07 22:03

由于刚上手FPGA,所以刚开始有些兵荒马乱,在网上疯狂的查找资料,结果是迷迷糊糊的。网上的那些教程啊什么的都是抄过来抄过去的,并且大多数都是抄袭的官方的英文文档,今天检查硬盘才发现友晶官方给了好多demo啊,魂淡~

这第二个文章我就基于友晶的demo修改,来学习DE2上面的数码管吧。

首先是数码管的原理图:

由原理图可知,数码管是共阳极的,所以给一个低电平,数码管点亮。

首先对照上图将HELLO字符转换成2进制码

HEX 012 3 4 56

abc d e fg

H 100 1 0 00

E 011 0 0 00

L 110 0 0 01

L 110 0 0 01

O 000 0 0 01


下面贴上我的代码,让5个数码管显示一个HELLO字符。

module DE2_TOP(////////////////////Clock Input //////////////////// CLOCK_27,//27 MHzCLOCK_50,//50 MHzEXT_CLOCK,//External Clock////////////////////Push Button////////////////////KEY,//Pushbutton[3:0]////////////////////DPDT Switch////////////////////SW,//Toggle Switch[17:0]////////////////////7-SEG Dispaly////////////////////HEX0,//Seven Segment Digit 0HEX1,//Seven Segment Digit 1HEX2,//Seven Segment Digit 2HEX3,//Seven Segment Digit 3HEX4,//Seven Segment Digit 4HEX5,//Seven Segment Digit 5HEX6,//Seven Segment Digit 6HEX7,//Seven Segment Digit 7////////////////////////LED////////////////////////LEDG,//LED Green[8:0]LEDR,//LED Red[17:0]////////////////////////UART////////////////////////UART_TXD,//UART TransmitterUART_RXD,//UART Receiver////////////////////////IRDA////////////////////////IRDA_TXD,//IRDA TransmitterIRDA_RXD,//IRDA Receiver/////////////////////SDRAM Interface////////////////DRAM_DQ,//SDRAM Data bus 16 BitsDRAM_ADDR,//SDRAM Address bus 12 BitsDRAM_LDQM,//SDRAM Low-byte Data Mask DRAM_UDQM,//SDRAM High-byte Data MaskDRAM_WE_N,//SDRAM Write EnableDRAM_CAS_N,//SDRAM Column Address StrobeDRAM_RAS_N,//SDRAM Row Address StrobeDRAM_CS_N,//SDRAM Chip SelectDRAM_BA_0,//SDRAM Bank Address 0DRAM_BA_1,//SDRAM Bank Address 0DRAM_CLK,//SDRAM ClockDRAM_CKE,//SDRAM Clock Enable////////////////////Flash Interface////////////////FL_DQ,//FLASH Data bus 8 BitsFL_ADDR,//FLASH Address bus 22 BitsFL_WE_N,//FLASH Write EnableFL_RST_N,//FLASH ResetFL_OE_N,//FLASH Output EnableFL_CE_N,//FLASH Chip Enable////////////////////SRAM Interface////////////////SRAM_DQ,//SRAM Data bus 16 BitsSRAM_ADDR,//SRAM Address bus 18 BitsSRAM_UB_N,//SRAM High-byte Data Mask SRAM_LB_N,//SRAM Low-byte Data Mask SRAM_WE_N,//SRAM Write EnableSRAM_CE_N,//SRAM Chip EnableSRAM_OE_N,//SRAM Output Enable////////////////////ISP1362 Interface////////////////OTG_DATA,//ISP1362 Data bus 16 BitsOTG_ADDR,//ISP1362 Address 2 BitsOTG_CS_N,//ISP1362 Chip SelectOTG_RD_N,//ISP1362 WriteOTG_WR_N,//ISP1362 ReadOTG_RST_N,//ISP1362 ResetOTG_FSPEED,//USB Full Speed,0 = Enable, Z = DisableOTG_LSPEED,//USB Low Speed, 0 = Enable, Z = DisableOTG_INT0,//ISP1362 Interrupt 0OTG_INT1,//ISP1362 Interrupt 1OTG_DREQ0,//ISP1362 DMA Request 0OTG_DREQ1,//ISP1362 DMA Request 1OTG_DACK0_N,//ISP1362 DMA Acknowledge 0OTG_DACK1_N,//ISP1362 DMA Acknowledge 1////////////////////LCD Module 16X2////////////////LCD_ON,//LCD Power ON/OFFLCD_BLON,//LCD Back Light ON/OFFLCD_RW,//LCD Read/Write Select, 0 = Write, 1 = ReadLCD_EN,//LCD EnableLCD_RS,//LCD Command/Data Select, 0 = Command, 1 = DataLCD_DATA,//LCD Data bus 8 bits////////////////////SD_Card Interface////////////////SD_DAT,//SD Card DataSD_DAT3,//SD Card Data 3SD_CMD,//SD Card Command SignalSD_CLK,//SD Card Clock////////////////////USB JTAG link////////////////////TDI,  // CPLD -> FPGA (data in)TCK,  // CPLD -> FPGA (clk)TCS,  // CPLD -> FPGA (CS)    TDO,  // FPGA -> CPLD (data out)////////////////////I2C////////////////////////////I2C_SDAT,//I2C DataI2C_SCLK,//I2C Clock////////////////////PS2////////////////////////////PS2_DAT,//PS2 DataPS2_CLK,//PS2 Clock////////////////////VGA////////////////////////////VGA_CLK,   //VGA ClockVGA_HS,//VGA H_SYNCVGA_VS,//VGA V_SYNCVGA_BLANK,//VGA BLANKVGA_SYNC,//VGA SYNCVGA_R,   //VGA Red[9:0]VGA_G, //VGA Green[9:0]VGA_B,  //VGA Blue[9:0]////////////Ethernet Interface////////////////////////ENET_DATA,//DM9000A DATA bus 16BitsENET_CMD,//DM9000A Command/Data Select, 0 = Command, 1 = DataENET_CS_N,//DM9000A Chip SelectENET_WR_N,//DM9000A WriteENET_RD_N,//DM9000A ReadENET_RST_N,//DM9000A ResetENET_INT,//DM9000A InterruptENET_CLK,//DM9000A Clock 25 MHz////////////////Audio CODEC////////////////////////AUD_ADCLRCK,//Audio CODEC ADC LR ClockAUD_ADCDAT,//Audio CODEC ADC DataAUD_DACLRCK,//Audio CODEC DAC LR ClockAUD_DACDAT,//Audio CODEC DAC DataAUD_BCLK,//Audio CODEC Bit-Stream ClockAUD_XCK,//Audio CODEC Chip Clock////////////////TV Decoder////////////////////////TD_DATA,    //TV Decoder Data bus 8 bitsTD_HS,//TV Decoder H_SYNCTD_VS,//TV Decoder V_SYNCTD_RESET,//TV Decoder ResetTD_CLK,//TV Decoder Clock////////////////////GPIO////////////////////////////GPIO_0,//GPIO Connection 0GPIO_1//GPIO Connection 1);////////////////////////Clock Input ////////////////////////inputCLOCK_27;//27 MHzinputCLOCK_50;//50 MHzinputEXT_CLOCK;//External Clock////////////////////////Push Button////////////////////////input[3:0]KEY;//Pushbutton[3:0]////////////////////////DPDT Switch////////////////////////input[17:0]SW;//Toggle Switch[17:0]////////////////////////7-SEG Dispaly////////////////////////output[6:0]HEX0;//Seven Segment Digit 0output[6:0]HEX1;//Seven Segment Digit 1output[6:0]HEX2;//Seven Segment Digit 2output[6:0]HEX3;//Seven Segment Digit 3output[6:0]HEX4;//Seven Segment Digit 4output[6:0]HEX5;//Seven Segment Digit 5output[6:0]HEX6;//Seven Segment Digit 6output[6:0]HEX7;//Seven Segment Digit 7////////////////////////////LED////////////////////////////output[8:0]LEDG;//LED Green[8:0]output[17:0]LEDR;//LED Red[17:0]////////////////////////////UART////////////////////////////outputUART_TXD;//UART TransmitterinputUART_RXD;//UART Receiver////////////////////////////IRDA////////////////////////////outputIRDA_TXD;//IRDA TransmitterinputIRDA_RXD;//IRDA Receiver///////////////////////SDRAM Interface////////////////////////inout[15:0]DRAM_DQ;//SDRAM Data bus 16 Bitsoutput[11:0]DRAM_ADDR;//SDRAM Address bus 12 BitsoutputDRAM_LDQM;//SDRAM Low-byte Data Mask outputDRAM_UDQM;//SDRAM High-byte Data MaskoutputDRAM_WE_N;//SDRAM Write EnableoutputDRAM_CAS_N;//SDRAM Column Address StrobeoutputDRAM_RAS_N;//SDRAM Row Address StrobeoutputDRAM_CS_N;//SDRAM Chip SelectoutputDRAM_BA_0;//SDRAM Bank Address 0outputDRAM_BA_1;//SDRAM Bank Address 0outputDRAM_CLK;//SDRAM ClockoutputDRAM_CKE;//SDRAM Clock Enable////////////////////////Flash Interface////////////////////////inout[7:0]FL_DQ;//FLASH Data bus 8 Bitsoutput[21:0]FL_ADDR;//FLASH Address bus 22 BitsoutputFL_WE_N;//FLASH Write EnableoutputFL_RST_N;//FLASH ResetoutputFL_OE_N;//FLASH Output EnableoutputFL_CE_N;//FLASH Chip Enable////////////////////////SRAM Interface////////////////////////inout[15:0]SRAM_DQ;//SRAM Data bus 16 Bitsoutput[17:0]SRAM_ADDR;//SRAM Address bus 18 BitsoutputSRAM_UB_N;//SRAM High-byte Data Mask outputSRAM_LB_N;//SRAM Low-byte Data Mask outputSRAM_WE_N;//SRAM Write EnableoutputSRAM_CE_N;//SRAM Chip EnableoutputSRAM_OE_N;//SRAM Output Enable////////////////////ISP1362 Interface////////////////////////inout[15:0]OTG_DATA;//ISP1362 Data bus 16 Bitsoutput[1:0]OTG_ADDR;//ISP1362 Address 2 BitsoutputOTG_CS_N;//ISP1362 Chip SelectoutputOTG_RD_N;//ISP1362 WriteoutputOTG_WR_N;//ISP1362 ReadoutputOTG_RST_N;//ISP1362 ResetoutputOTG_FSPEED;//USB Full Speed,0 = Enable, Z = DisableoutputOTG_LSPEED;//USB Low Speed, 0 = Enable, Z = DisableinputOTG_INT0;//ISP1362 Interrupt 0inputOTG_INT1;//ISP1362 Interrupt 1inputOTG_DREQ0;//ISP1362 DMA Request 0inputOTG_DREQ1;//ISP1362 DMA Request 1outputOTG_DACK0_N;//ISP1362 DMA Acknowledge 0outputOTG_DACK1_N;//ISP1362 DMA Acknowledge 1////////////////////LCD Module 16X2////////////////////////////inout[7:0]LCD_DATA;//LCD Data bus 8 bitsoutputLCD_ON;//LCD Power ON/OFFoutputLCD_BLON;//LCD Back Light ON/OFFoutputLCD_RW;//LCD Read/Write Select, 0 = Write, 1 = ReadoutputLCD_EN;//LCD EnableoutputLCD_RS;//LCD Command/Data Select, 0 = Command, 1 = Data////////////////////SD Card Interface////////////////////////inoutSD_DAT;//SD Card DatainoutSD_DAT3;//SD Card Data 3inoutSD_CMD;//SD Card Command SignaloutputSD_CLK;//SD Card Clock////////////////////////I2C////////////////////////////////inoutI2C_SDAT;//I2C DataoutputI2C_SCLK;//I2C Clock////////////////////////PS2////////////////////////////////input PS2_DAT;//PS2 DatainputPS2_CLK;//PS2 Clock////////////////////USB JTAG link////////////////////////////input  TDI;// CPLD -> FPGA (data in)input  TCK;// CPLD -> FPGA (clk)input  TCS;// CPLD -> FPGA (CS)output TDO;// FPGA -> CPLD (data out)////////////////////////VGA////////////////////////////outputVGA_CLK;   //VGA ClockoutputVGA_HS;//VGA H_SYNCoutputVGA_VS;//VGA V_SYNCoutputVGA_BLANK;//VGA BLANKoutputVGA_SYNC;//VGA SYNCoutput[9:0]VGA_R;   //VGA Red[9:0]output[9:0]VGA_G; //VGA Green[9:0]output[9:0]VGA_B;   //VGA Blue[9:0]////////////////Ethernet Interface////////////////////////////inout[15:0]ENET_DATA;//DM9000A DATA bus 16BitsoutputENET_CMD;//DM9000A Command/Data Select, 0 = Command, 1 = DataoutputENET_CS_N;//DM9000A Chip SelectoutputENET_WR_N;//DM9000A WriteoutputENET_RD_N;//DM9000A ReadoutputENET_RST_N;//DM9000A ResetinputENET_INT;//DM9000A InterruptoutputENET_CLK;//DM9000A Clock 25 MHz////////////////////Audio CODEC////////////////////////////inoutAUD_ADCLRCK;//Audio CODEC ADC LR ClockinputAUD_ADCDAT;//Audio CODEC ADC DatainoutAUD_DACLRCK;//Audio CODEC DAC LR ClockoutputAUD_DACDAT;//Audio CODEC DAC DatainoutAUD_BCLK;//Audio CODEC Bit-Stream ClockoutputAUD_XCK;//Audio CODEC Chip Clock////////////////////TV Devoder////////////////////////////input[7:0]TD_DATA;    //TV Decoder Data bus 8 bitsinputTD_HS;//TV Decoder H_SYNCinputTD_VS;//TV Decoder V_SYNCoutputTD_RESET;//TV Decoder ResetinputTD_CLK;//TV Decoder Clock////////////////////////GPIO////////////////////////////////inout[35:0]GPIO_0;//GPIO Connection 0inout[35:0]GPIO_1;//GPIO Connection 1//显示HELLO字符assignHEX0=7'h40;assignHEX1=7'h43;assignHEX2=7'h43;assignHEX3=7'h06;assignHEX4=7'h09;assignHEX5=7'h7F;assignHEX6=7'h7F;assignHEX7=7'h7F;assignLEDG=9'h1FF;assignLEDR=18'h3FFFF;assignLCD_ON=1'b1;assignLCD_BLON=1'b1;//All inout port turn to tri-stateassignDRAM_DQ=16'hzzzz;assignFL_DQ=8'hzz;assignSRAM_DQ=16'hzzzz;assignOTG_DATA=16'hzzzz;assignLCD_DATA=8'hzz;assignSD_DAT=1'bz;assignI2C_SDAT=1'bz;assignENET_DATA=16'hzzzz;assignAUD_ADCLRCK=1'bz;assignAUD_DACLRCK=1'bz;assignAUD_BCLK=1'bz;assignGPIO_0=36'hzzzzzzzzz;assignGPIO_1=36'hzzzzzzzzz;endmodule



0 0
原创粉丝点击