DE2-115创建Web Server详细步骤(Quartus 13.1)
来源:互联网 发布:淘宝卖家常用语 编辑:程序博客网 时间:2024/05/17 07:25
这里综合了Altera提供的各种文献和实例,在最新的Quartus 13.1构建。
1. New Project
2.Create New System
Ctrl+R,将时钟Name更改为clk_50,频率为50MHz
加入altpll组件,c0->100MHz,作为系统时钟;c1->100MHz,相位延迟-2ns,作为SDRAM时钟;C2->10MHz,作为其他LCD,LED等时钟;可选C3->65MHz,作为VGA像素时钟。(图就不改了)
在View菜单中,打开Clocks视图,修改时钟名字提高易读性。分别是altpll_sys, altpll_sdram, altpll_io, altpll_vga。
altpll.inclk_interface设置为clk_50,双击altpll的export,导出areset,locked,phasedone。这个locked信号可以做nios的reset
加入NIOS Processor,JTAG UART(IRQ 0)
加入SDRAM controller,导出wire,地址锁定为0x0
各component的clk均为altpll_sys,sdram的Avalon Memory Mapped Slave连接到cpu.data_master和instruction_master。
添加Generic Tri-State Controller,作为Common Flash Interface,名字为ext_flash(和web server app模版名字相同)
添加Tri-State Conduit Bridge作为Flash的端口,连接ext_flash.uas->cpu.data_master,ext_flash.tcm->tristate_conduit_bridge_flash.tcs,导出tristate_conduit_bridge_flash.out
add Triple-Speed Ethernet,名字为tse_mac(web sever模板中的名字),Core Variations: 10/10/100Mb Ethernet MAC,Interface RGMII,Include MDIO Module (MDC/MDIO)
terASIC提供的DE2_115_Web_Server.qsys中Triple-Speed Ethernet的名字有错(13改了名?)。可用文本编辑器修改此qsys文件,查找triple_speed_ethernet,修改module为:
<module kind="altera_eth_tse" version="13.1" enabled="1" name="tse_mac">
添加On-Chip Memory作为 Descriptor Memory
add scatter-gatter dma controller,Memory To Stream,Source error width为1,作为发送DMA
再次add scatter gather dma controller,Stream To Memory,Sink error width为6
tse, descriptor memory, dma时钟都是alt_sys。
tse.control_port->cpu.data_master
tse.receive_clock->altpll_sys
tse.transmit_clock->altpll_sys
接收链路:tse.receive->sgdma_rx.in, sgdma_rx.m_write->sdram.s1
发送链路:sgdma_tx.m_read->sdram.s1, sgdma_tx.out->tse.trnsmit
sgdma_rx, sgdma_tx两者的descriptor read 和descriptor write,都连接到descriptor_memory.s1,->cpu.data_master
sgdma_rx设置irq 2,sgdma_tx设置irq 3
根据提示导出tse的conduits
以上时钟都适用系统时钟,mapped slave都连接到cpu.data_master上,包括altpll.pll_slave
添加Avalon-MM Clock Crossing Bridge,设置适当深度
clock_crossing_bridge.m0_clk->altpll_io,clock_crossing_bridge.s0_clk->altpll_sys,clock_crossing_bridge.s0->cpu.data_master。
除非特别说明,以下系统的低速设备都使用altpll_io和clock_crossing_bridge.m0连接到clk和mapped slave (s1)。
add Interval Timer (IRQ 1), System ID, LCD 16027, LED pio (led_pio), SWITCH pio, Seven Segment Display pio, KEY pio (可将KEY[0]留作全局reset)
这里强调一点:System ID是很重要的一个设备,设定一个常数,和timestamp配合判断NIOS和你的BSP是否匹配,不要在Run Configuration 中采取 Ignore mismatched system timestamp,我常常因为这个 mismatch 的提示才知道bsp不匹配。
修改cpu,reset vector memory 和 exception vector memory 都设置为 sdram.s1
菜单System -> Create Global Reset Network
System -> assign base address
FIle -> Save
应当只有一个警告
Warning: System.flash: Properties (isFlash,isMemoryDevice,isNonVolatileStorage) have been set on interface uas - in composed mode these are ignored
终于可以:Generate -> Generating...
Generate -> HDL example, copy
3. Create a new DDIO_OUT megafunction variation
width 设置为 1bit,Neither asynchronous clear nor asynchronous set ports options.
4. Create a new altpll megafunction variation
输入时钟为以太网的接收时钟,c0:125MHz; c1: 125MHz, 90deg; c2:125MHz, 180deg
5. New systemverilog file
paste HDL example
从terasic提供的例子中copy端口描述部分
修改nios的实例化部分
`define NET0module web_server(<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// CLOCK //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>CLOCK_50, CLOCK2_50, CLOCK3_50,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENETCLK_25,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// Sma //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SMA_CLKIN,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SMA_CLKOUT,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// LED //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LEDG,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LEDR,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// KEY //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>KEY,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// SW //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SW,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// SEG7 //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX0,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX1,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX2,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX3,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX4,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX5,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX6,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX7,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// LCD //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_BLON,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_DATA,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_EN,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_ON,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_RS,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_RW,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// RS232 //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>UART_CTS,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>UART_RTS,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>UART_RXD,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>UART_TXD,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// PS2 //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>PS2_CLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>PS2_DAT,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>PS2_CLK2,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>PS2_DAT2,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// SDCARD //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SD_CLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SD_CMD,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SD_DAT,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SD_WP_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// VGA //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_B,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_BLANK_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_CLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_G,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_HS,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_R,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_SYNC_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_VS,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// Audio //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_ADCDAT,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_ADCLRCK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_BCLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_DACDAT,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_DACLRCK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_XCK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// I2C for EEPROM //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>EEP_I2C_SCLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>EEP_I2C_SDAT,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// I2C for Audio and Tv-Decode //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>I2C_SCLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>I2C_SDAT,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// Ethernet 0 //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_GTX_CLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_INT_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_MDC,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_MDIO,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RST_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_CLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_COL,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_CRS,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_DATA,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_DV,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_ER,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_TX_CLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_TX_DATA,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_TX_EN,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_TX_ER,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_LINK100,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// Ethernet 1 //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_GTX_CLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_INT_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_MDC,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_MDIO,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RST_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_CLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_COL,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_CRS,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_DATA,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_DV,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_ER,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_TX_CLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_TX_DATA,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_TX_EN,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_TX_ER,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_LINK100,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// TV Decoder //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>TD_CLK27,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>TD_DATA,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>TD_HS,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>TD_RESET_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>TD_VS,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>/////// USB OTG controller<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>OTG_DATA,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>OTG_ADDR,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>OTG_CS_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>OTG_WR_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>OTG_RD_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>OTG_INT,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>OTG_RST_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span><span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// IR Receiver //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>IRDA_RXD,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// SDRAM //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_ADDR,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_BA,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_CAS_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_CKE,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_CLK,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_CS_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_DQ,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_DQM,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_RAS_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_WE_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// SRAM //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_ADDR,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_CE_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_DQ,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_LB_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_OE_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_UB_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_WE_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// Flash //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_ADDR,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_CE_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_DQ,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_OE_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_RST_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_RY,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_WE_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_WP_N,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// GPIO //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>GPIO,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// HSMC (LVDS) //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKIN_P1,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKIN_P2,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKIN0,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKOUT_P1,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKOUT_P2,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKOUT0,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_D,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_RX_D_P,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_TX_D_P,<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> //////// EXTEND IO ////////// EX_IO<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>);<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//=======================================================<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// PARAMETER declarations<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//=======================================================<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//=======================================================<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// PORT declarations<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//=======================================================<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// CLOCK //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>CLOCK_50;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>CLOCK2_50;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>CLOCK3_50;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENETCLK_25;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// Sma //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SMA_CLKIN;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SMA_CLKOUT;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// LED //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [8:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LEDG;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [17:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LEDR;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// KEY //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [3:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>KEY;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// SW //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [17:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SW;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// SEG7 //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [6:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX0;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [6:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX1;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [6:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX2;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [6:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX3;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [6:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX4;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [6:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX5;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [6:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX6;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [6:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX7;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// LCD //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_BLON;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [7:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_DATA;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_EN;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_ON;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_RS;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>LCD_RW;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// RS232 //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>UART_CTS;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>UART_RTS;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>UART_RXD;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>UART_TXD;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// PS2 //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>PS2_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>PS2_DAT;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>PS2_CLK2;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>PS2_DAT2;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// SDCARD //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SD_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SD_CMD;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [3:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SD_DAT;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SD_WP_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// VGA //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [7:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_B;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_BLANK_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [7:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_G;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_HS;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [7:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_R;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_SYNC_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>VGA_VS;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// Audio //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_ADCDAT;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_ADCLRCK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_BCLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_DACDAT;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_DACLRCK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>AUD_XCK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// I2C for EEPROM //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>EEP_I2C_SCLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>EEP_I2C_SDAT;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// I2C for Audio and Tv-Decode //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>I2C_SCLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>I2C_SDAT;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// Ethernet 0 //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_GTX_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_INT_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_MDC;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_MDIO;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RST_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_COL;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_CRS;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [3:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_DATA;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_DV;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_RX_ER;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_TX_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [3:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_TX_DATA;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_TX_EN;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_TX_ER;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_LINK100;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// Ethernet 1 //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_GTX_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_INT_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_MDC;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_MDIO;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RST_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_COL;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_CRS;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [3:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_DATA;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_DV;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_RX_ER;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_TX_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [3:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_TX_DATA;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_TX_EN;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_TX_ER;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_LINK100;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// TV Decoder 1 //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>TD_CLK27;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [7:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>TD_DATA;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>TD_HS;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>TD_RESET_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>TD_VS;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// USB OTG controller //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout [15:0] OTG_DATA;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output [1:0] OTG_ADDR;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output OTG_CS_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output OTG_WR_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output OTG_RD_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input OTG_INT;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output OTG_RST_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// IR Receiver //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>IRDA_RXD;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// SDRAM //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [12:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_ADDR;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [1:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_BA;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_CAS_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_CKE;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_CS_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [31:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_DQ;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [3:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_DQM;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_RAS_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>DRAM_WE_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// SRAM //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [19:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_ADDR;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_CE_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [15:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_DQ;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_LB_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_OE_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_UB_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>SRAM_WE_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// Flash //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [22:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_ADDR;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_CE_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [7:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_DQ;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_OE_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_RST_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_RY;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_WE_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>FL_WP_N;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// GPIO //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [35:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>GPIO;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////////// HSMC (LVDS) //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKIN_P1;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKIN_P2;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKIN0;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKOUT_P1;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKOUT_P2;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_CLKOUT0;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [3:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_D;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>input<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [16:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_RX_D_P;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>output<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [16:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HSMC_TX_D_P;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//////// EXTEND IO //////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>inout<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> [6:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>EX_IO;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//=======================================================<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// REG/WIRE declarations<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//=======================================================<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>sys_reset_n;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span><span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//===== ethernet =====<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>enet_tx_clk_mac;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>enet_tx_clk_phy;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>enet_rx_clk_90deg;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>enet_gtx_clk;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>enet_rx_clk;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_mdio_in;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_mdio_oen;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET0_mdio_out;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_mdio_in;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_mdio_oen;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ENET1_mdio_out;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ena_10_from_mac;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>eth_mode;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>set_1k_to_mac;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>set_10_to_mac;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX0P;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX1P;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX2P;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX3P;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX4P;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX5P;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX6P;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>HEX7P;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span><span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>pll_locked;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>pll_phasedone;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic[7:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ssd0, ssd1, ssd2, ssd3;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic[7:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ssd4, ssd5, ssd6, ssd7;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>enet_reset_n;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>parameter<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ctr_width<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>=<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>20;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic[ctr_width-1:0]<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ctr;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// Reset counter<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// ===== ethernet clock =====<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>`ifdef NET0<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign enet_rx_clk<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= ENET0_RX_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign ENET0_GTX_CLK<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= enet_gtx_clk;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>`else<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign enet_rx_clk<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= ENET1_RX_CLK;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign ENET1_GTX_CLK<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= enet_gtx_clk;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>`endif<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// ===== MDIO Tristate<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign ENET0_mdio_in<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= ENET0_MDIO;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign ENET0_MDIO<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= ENET0_mdio_oen ? 1'bz : ENET0_mdio_out;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign ENET1_mdio_in<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= ENET1_MDIO;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign ENET1_MDIO<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= ENET1_mdio_oen ? 1'bz : ENET1_mdio_out;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// ===== ethernet signal =====<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign ENET0_RST_N<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= enet_reset_n;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign ENET1_RST_N<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= enet_reset_n;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// ===== ethernet control signal define<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign set_1k_to_mac<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= 1'b0;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign set_10_to_mac<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>= 1'b0;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span><span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign sys_reset_n = pll_locked;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign LEDG[8] = sys_reset_n;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HEX0[6:0] = ssd0[6:0];<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HEX1[6:0] = ssd1[6:0];<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HEX2[6:0] = ssd2[6:0];<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HEX3[6:0] = ssd3[6:0];<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HEX4[6:0] = ssd4[6:0];<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HEX5[6:0] = ssd5[6:0];<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HEX6[6:0] = ssd6[6:0];<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HEX7[6:0] = ssd7[6:0];<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//=======================================================<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// Structural coding<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>//=======================================================<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span><span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>always_ff@(posedge CLOCK_50 or negedge sys_reset_n) begin<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>if (!sys_reset_n) begin<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>enet_reset_n<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span><=<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>1'b0;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ctr<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span><=<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>0;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>end<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>else begin<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>if (ctr == {ctr_width{1'b1}}) begin<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>enet_reset_n<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span><=<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>1'b1;// Auto reset phy 1st time<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>end<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>else begin<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ctr<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span><=<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ctr + 1;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>enet_reset_n<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span><=<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>1'b0;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>end<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>end<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>end<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>enet_rx_pll pll_inst(<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.inclk0(enet_rx_clk),<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.c0(enet_rx_clk_90deg),<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.c1(enet_tx_clk_mac),<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.c2(enet_tx_clk_phy)<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>);<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span><span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>ddio_out ddio_out_inst(<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.datain_h(1'b1),<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.datain_l(1'b0),<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.outclock(enet_tx_clk_phy),<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.dataout(enet_gtx_clk)<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>);<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> nios_core nios_inst (<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.clk_clk (CLOCK_50), // clk.clk<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.reset_reset_n (sys_reset_n), // reset.reset_n<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.altpll_areset_export (~KEY[0]), // altpll_areset.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.altpll_locked_export (pll_locked), // altpll_locked.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.altpll_phasedone_export (pll_phasedone),// altpll_phasedone.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.altpll_sdram_clk (DRAM_CLK), // sdram_clk.clk<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.altpll_vga_clk (VGA_CLK), // sdram_clk.clk<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.sdram_addr (DRAM_ADDR), // sdram.addr<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.sdram_ba (DRAM_BA), // .ba<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.sdram_cas_n (DRAM_CAS_N), // .cas_n<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.sdram_cke (DRAM_CKE), // .cke<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.sdram_cs_n (DRAM_CS_N), // .cs_n<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.sdram_dq (DRAM_DQ), // .dq<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.sdram_dqm (DRAM_DQM), // .dqm<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.sdram_ras_n (DRAM_RAS_N), // .ras_n<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.sdram_we_n (DRAM_WE_N), // .we_n<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.flash_tcm_address_out (FL_ADDR), // flash.tcm_address_out<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.flash_tcm_read_n_out (FL_OE_N), // .tcm_read_n_out<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.flash_tcm_write_n_out (FL_WE_N), // .tcm_write_n_out<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.flash_tcm_data_out (FL_DQ), // .tcm_data_out<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.flash_tcm_chipselect_n_out (FL_CE_N), // .tcm_chipselect_n_out<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.lcd_display_RS (LCD_RS), // lcd.RS<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.lcd_display_RW (LCD_RW), // .RW<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.lcd_display_data (LCD_DATA), // .data<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.lcd_display_E (LCD_EN), // .E<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.ledg_export (LEDG[7:0]), // ledg.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.ledr_export (LEDR), // ledr.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.sw_export (SW), // sw.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.key_export (KEY[3:1]), // key.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.ssd0_export (ssd0), // ssd0.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.ssd1_export (ssd1), // ssd1.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.ssd2_export (ssd2), // ssd2.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.ssd3_export (ssd3), // ssd3.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.ssd4_export (ssd4), // ssd4.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.ssd5_export (ssd5), // ssd5.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.ssd6_export (ssd6), // ssd6.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.ssd7_export (ssd7), // ssd7.export<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// the_tse_mac (RGMII)<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>`ifdef<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>NET0<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_pcs_tx_clock_clk (enet_tx_clk_mac), // tse_pcs_tx_clock.clk<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_pcs_rx_clock_clk (enet_rx_clk_90deg), // tse_pcs_rx_clock.clk<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_mdio_mdc (ENET0_MDC), // tse_mac_mdio.mdc<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_mdio_mdio_in (ENET0_mdio_in),// .mdio_in<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_mdio_mdio_out (ENET0_mdio_out),// .mdio_out<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_mdio_mdio_oen (ENET0_mdio_oen),// .mdio_oen<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_rgmii_rgmii_in (ENET0_RX_DATA),// tse_mac_rgmii.rgmii_in<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_rgmii_rgmii_out (ENET0_TX_DATA),// .rgmii_out<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_rgmii_rx_control (ENET0_RX_DV), // .rx_control<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_rgmii_tx_control (ENET0_TX_EN), // .tx_control<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_status_set_10 (set_10_to_mac),// tse_mac_status.set_10<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_status_set_1000 (set_1k_to_mac),// .set_1000<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_status_eth_mode (eth_mode), // .eth_mode<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// not use<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_status_ena_10 (ena_10_from_mac) // .ena_10<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// not use<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>`else<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_pcs_tx_clock_clk (enet_tx_clk_mac), // tse_pcs_tx_clock.clk<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_pcs_rx_clock_clk (enet_rx_clk_90deg), // tse_pcs_rx_clock.clk<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_mdio_mdc (ENET1_MDC), // tse_mac_mdio.mdc<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_mdio_mdio_in (ENET1_mdio_in),// .mdio_in<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_mdio_mdio_out (ENET1_mdio_out),// .mdio_out<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_mdio_mdio_oen (ENET1_mdio_oen),// .mdio_oen<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_rgmii_rgmii_in (ENET1_RX_DATA),// tse_mac_rgmii.rgmii_in<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_rgmii_rgmii_out (ENET1_TX_DATA),// .rgmii_out<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_rgmii_rx_control (ENET1_RX_DV), // .rx_control<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_rgmii_tx_control (ENET1_TX_EN), // .tx_control<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_status_set_10 (set_10_to_mac),// tse_mac_status.set_10<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// not use<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_status_set_1000 (set_1k_to_mac),// .set_1000<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_status_eth_mode (eth_mode), // .eth_mode<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>.tse_mac_status_ena_10 (ena_10_from_mac)// .ena_10<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// not use<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>`endif<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>);<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// Flash Config<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign FL_RST_N = sys_reset_n;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign FL_WP_N = 1'b1;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>///////////////////////////////////////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// LCD config<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign LCD_BLON = 0; // not supported<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign LCD_ON = 1'b1; // alwasy on<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> io_dir;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>logic <span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span> action;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign io_dir = KEY[0] & action;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>///////////////////////////////////////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// GPIO<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign GPIO[17:0] = (io_dir)?GPIO[35:18]:18'hz;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign GPIO[35:18] = (io_dir)?GPIO[17:0]:18'hz;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>///////////////////////////////////////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// HSMC<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HSMC_D[1:0] = (io_dir)?HSMC_D[3:2]:2'hz;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HSMC_D[3:2] = (io_dir)?HSMC_D[1:0]:2'hz;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HSMC_TX_D_P = HSMC_RX_D_P;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HSMC_CLKOUT_P1 = HSMC_CLKIN_P1;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HSMC_CLKOUT_P2 = HSMC_CLKIN_P2;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign HSMC_CLKOUT0 = HSMC_CLKIN0;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>///////////////////////////////////////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// TV<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign TD_RESET_N = TD_VS;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign action = FL_RY & TD_HS & TD_CLK27 & (TD_DATA == 8'hff);<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>///////////////////////////////////////////<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>// ps2<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign PS2_CLK = PS2_DAT;<span style="margin: 0px; padding: 0px; border: 0px; background: transparent;"></span>assign PS2_CLK2 = PS2_DAT2;endmodule
6. 添加qsys(也包括ddio_out、altpll)生成的qip文件到工程中
7. assignments -> import assignments。
8. 可以编译了
9. NIOS software builder
New application and BSP from Template
Project Template: Web Server (RGMII)
在main函数入口可以增加
#ifdef LCD_DISPLAY_NAME lcdDevice = fopen( LCD_DISPLAY_NAME, "w" ); fprintf(lcdDevice, "Booting...\n"); fclose( lcdDevice );#endif
便于查看启动状态。
编译。
10. 打开 nios_command_shell,注意文件相对路径。(用GUI操作也可以)
将ro_zipfs.zip写入flash。注意location、base、sidp、id timestamp参数在BSP Editor中查看,usbblaster名字也要确认。默认ro_zipfs.zip在software/yourapp/system下。
bin2flash --input="./ro_zipfs.zip" --output="./ro.flashfs_cfi_flash.flash" --location=0x100000 --verbosenios2-flash-programmer "./ro.flashfs_cfi_flash.flash" --base 0x9000000 --sidp 0xB000140 --id 0x0 --timestamp 1353045137 --device 1 --instance 0 --cable USB-Blaster\ [2-1.5] --erase-all
然后可以下载了
quartus_pgm -m jtag -c 1 -o "p;web_server.sof"nios2-download app.elf -c USB-Blaster\ [2-1.5] -gnios2-terminal -c USB-Blaster\ [2-1.5]
模板生成的example中有详细的注释,这里就不做代码解释了。
- DE2-115创建Web Server详细步骤(Quartus 13.1)
- DE2-115创建Web Server详细步骤(Quartus 13.1)
- 《基于DE2的嵌入式WEB-SERVER研究》(网络工程)
- 用Maven创建web项目(详细步骤)
- web service创建的详细步骤
- Intellij IDEA 创建Web项目并在Tomcat中部署运行(步骤很详细)
- vs2010创建web服务以及引用服务详细步骤
- vs2010创建web服务以及引用服务详细步骤
- 使用Maven插件创建Web项目的详细步骤
- IntelliJ idea创建Maven java web项目 详细步骤
- Eclipse使用Maven创建Web工程(详细步骤)
- Eclipse中创建maven web工程详细步骤以及注意事项
- Quartus 建立SOPC项目下载到DE2中回送Hello
- 创建server的步骤
- Quartus仿真步骤
- oracle创建dblink详细步骤
- 创建KVM实例详细步骤
- web项目部署详细步骤
- Sql四种语言
- iOS开发系列--无限循环的图片浏览器
- jQuery与AJAX----jQuery中ajax接口
- Android 自定义属性(Attribute)详解
- 严重: Exception sending context initialized event to listener instance of class org.springframework.we
- DE2-115创建Web Server详细步骤(Quartus 13.1)
- Spring 关键点
- hpp.h与.h的区别
- 断言的学习
- poj 2187 Beauty Contest (凸包 Graham)
- poj之旅——3262
- 这个人准备学的↓↓↓↓↓
- SVN基础总结
- 缺少动态连接库.so--cannot open shared object file: No such file or directory