1 / 19

ECT 358

ECT 358. Lecture 29 MicroBlaze External I/O. The train of failure usually runs on the track of laziness. By much slothfulness the building decayeth; and through idleness of the hands the house droppeth through. Ecclesiastes 10:18. MicroBlaze External I/O. Additional Inputs/Outputs

merton
Download Presentation

ECT 358

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECT 358 Lecture 29 MicroBlaze External I/O

  2. The train of failure usually runs on the track of laziness. By much slothfulness the building decayeth; and through idleness of the hands the house droppeth through. Ecclesiastes 10:18

  3. MicroBlaze External I/O Additional Inputs/Outputs Custom Board Generation Edit Peripherals Core/Peripheral Combinations Multi-Core Designs

  4. MicroBlaze XBD files Board manufacturer Chip Clock Speed Inputs Outputs Pin Numbers Pin Names

  5. Our.XBD File ATTRIBUTE VENDOR = Avnet ATTRIBUTE SPEC_URL = www.em.avnet.com ATTRIBUTE CONTACT_INFO_URL = http://www.em.avnet.com/xilinxbsbfiles ATTRIBUTE NAME = Mini-Spartan-II Evaluation Board ATTRIBUTE REVISION = A ATTRIBUTE DESC = Avnet Mini-Spartan-II Evaluation Board Rev A ATTRIBUTE LONG_DESC = 'This board utilizes XILINX FPGA XC2S150-5PQ208. The board includes one RS232, two push buttons, one digital thermometer, eight DIP-switches and eight LEDs. Push button SW1 is used as reset.'

  6. Our.XBD File BEGIN IO_INTERFACE ATTRIBUTE IOTYPE = XIL_CLOCK_V1 ATTRIBUTE INSTANCE =clk_40 PARAMETER CLK_FREQ =40000000, IO_IS=clk_freq, RANGE=(40000000) # 40 Mhz PORT GCLK = CONN_GCLK , IO_IS=ext_clk END

  7. Our.XBD File BEGIN IO_INTERFACE ATTRIBUTE IOTYPE = XIL_RESET_V1 ATTRIBUTE INSTANCE = rst_0 PARAMETER RST_POLARITY = 1, IO_IS=polarity, VALUE_NOTE=Active HIGH PORT SW1 = CONN_SW1, IO_IS=ext_rst # use SW1 as reset button END

  8. Our.XBD File BEGIN IO_INTERFACE ATTRIBUTE IOTYPE = XIL_CPUDEBUG_V1 ATTRIBUTE INSTANCE =cpudbg_0 PORT CPU.TDO = CONN_CPU.TDO, IO_IS=cpu_tdo PORT CPU.TDI = CONN_CPU.TDI, IO_IS=cpu_tdi PORT CPU.TCK = CONN_CPU.TCK, IO_IS=cpu_tck PORT CPU.TMS = CONN_CPU.TMS, IO_IS=cpu_tms #PIN CPU.HALT = CONN_CPU.HALT, IO_IS=cpu_halt PORT CPU.TRST = CONN_CPU.TRST, IO_IS=cpu_trst END

  9. Our.XBD File BEGIN IO_INTERFACE ATTRIBUTE IOTYPE = XIL_UART_V1 ATTRIBUTE INSTANCE=RS232 PORT RXD = CONN_RXD, IO_IS=serial_in PORT TXD = CONN_TXD, IO_IS=serial_out PORT DEACTIVATE = CONN_DEACTIVATE, IO_IS=rs232_deactivate, INITIALVAL = VCC #this is for serial tranceiver, not UART controller PORT ENABLE = CONN_ENABLE, IO_IS=rs232_enable, INITIALVAL = GND #this is for serial tranceiver, not UART controllerEND END

  10. Our.XBD File BEGIN IO_INTERFACE ATTRIBUTE IOTYPE = XIL_UART_V1 ATTRIBUTE INSTANCE=RS232 PORT RXD = CONN_RXD, IO_IS=serial_in PORT TXD = CONN_TXD, IO_IS=serial_out PORT DEACTIVATE = CONN_DEACTIVATE, IO_IS=rs232_deactivate, INITIALVAL = VCC #this is for serial tranceiver, not UART controller PORT ENABLE = CONN_ENABLE, IO_IS=rs232_enable, INITIALVAL = GND #this is for serial tranceiver, not UART controllerEND END

  11. Our.XBD File BEGIN IO_INTERFACE ATTRIBUTE IOTYPE = XIL_GPIO_V1 ATTRIBUTE INSTANCE = LEDs_8Bit PARAMETER num_bits =8, IO_IS=num_bits PARAMETER is_dual=0, IO_IS=is_dual PARAMETER bidir_data=0, IO_IS=is_bidir # Non-bidir data pins PARAMETER all_inputs =0, IO_IS=all_inputs # All outputs PORT D2 = CONN_D2, IO_IS = gpio_data_out[0] PORT D3 = CONN_D3, IO_IS = gpio_data_out[1] PORT D4 = CONN_D4, IO_IS = gpio_data_out[2] PORT D5 = CONN_D5, IO_IS = gpio_data_out[3] PORT D6 = CONN_D6, IO_IS = gpio_data_out[4] PORT D7 = CONN_D7, IO_IS = gpio_data_out[5] PORT D8 = CONN_D8, IO_IS = gpio_data_out[6] PORT D9 = CONN_D9, IO_IS = gpio_data_out[7] END

  12. Our.XBD File BEGIN IO_INTERFACE ATTRIBUTE IOTYPE = XIL_GPIO_V1 ATTRIBUTE INSTANCE = Push_Buttons_1Bit PARAMETER num_bits =1, IO_IS=num_bits PARAMETER is_dual=0, IO_IS=is_dual PARAMETER bidir_data=0, IO_IS=is_bidir # Non-bidir data pins PARAMETER all_inputs =1, IO_IS=all_inputs # All inputs PORT SW2 = CONN_SW2, IO_IS = gpio_data_in[0] END

  13. Our.XBD File BEGIN IO_INTERFACE ATTRIBUTE IOTYPE = XIL_GPIO_V1 ATTRIBUTE INSTANCE = DIP_Switches_8Bit PARAMETER num_bits =8, IO_IS=num_bits PARAMETER is_dual=0, IO_IS=is_dual PARAMETER bidir_data=0, IO_IS=is_bidir # Non-bidir data pins PARAMETER all_inputs=1, IO_IS=all_inputs # All inputs PORT DIP1 = CONN_DIP1, IO_IS = gpio_data_in[0] PORT DIP2 = CONN_DIP2, IO_IS = gpio_data_in[1] PORT DIP3 = CONN_DIP3, IO_IS = gpio_data_in[2] PORT DIP4 = CONN_DIP4, IO_IS = gpio_data_in[3] PORT DIP5 = CONN_DIP5, IO_IS = gpio_data_in[4] PORT DIP6 = CONN_DIP6, IO_IS = gpio_data_in[5] PORT DIP7 = CONN_DIP7, IO_IS = gpio_data_in[6] PORT DIP8 = CONN_DIP8, IO_IS = gpio_data_in[7] END

  14. Our.XBD File BEGIN IO_INTERFACE ATTRIBUTE IOTYPE = XIL_GPIO_V1 ATTRIBUTE INSTANCE = Digital_Thermometer_8Bit PARAMETER num_bits =8, IO_IS=num_bits PARAMETER is_dual=0, IO_IS=is_dual PARAMETER bidir_data=0, IO_IS=is_bidir PARAMETER all_inputs=0, IO_IS=all_inputs PORT TDATA0 = CONN_TDATA0, IO_IS = gpio_io[0] PORT TDATA1 = CONN_TDATA1, IO_IS = gpio_io[1] PORT TDATA2 = CONN_TDATA2, IO_IS = gpio_io[2] PORT TDATA3 = CONN_TDATA3, IO_IS = gpio_io[3] PORT TDATA4 = CONN_TDATA4, IO_IS = gpio_io[4] PORT TDATA5 = CONN_TDATA5, IO_IS = gpio_io[5] PORT TDATA6 = CONN_TDATA6, IO_IS = gpio_io[6] PORT TDATA7 = CONN_TDATA7, IO_IS = gpio_io[7] END

  15. Our.XBD File BEGIN IO_INTERFACE ATTRIBUTE IOTYPE = XIL_GPIO_V1 ATTRIBUTE INSTANCE = Thermo_In PARAMETER num_bits =1, IO_IS=num_bits PARAMETER is_dual=0, IO_IS=is_dual PARAMETER bidir_data=0, IO_IS=is_bidir PARAMETER all_inputs =1, IO_IS=all_inputs PORT SDO = CONN_SDO, IO_IS = gpio_data_in[0] END

  16. Our.XBD File BEGIN FPGA ATTRIBUTE INSTANCE = fpga_0 ATTRIBUTE FAMILY = spartan2 ATTRIBUTE DEVICE = XC2S150 ATTRIBUTE PACKAGE = PQ208 ATTRIBUTE SPEED_GRADE = -5 ATTRIBUTE JTAG_POSITION = 2 ### CLOCK ### PORT CLK_0 = CONN_GCLK, UCF_NET_STRING=("LOC=P80") ### RESET ### PORT RESET = CONN_SW1, UCF_NET_STRING=("LOC=P110") ### CPU DEBUG ### PORT TDO = CONN_CPU.TDO, UCF_NET_STRING=("LOC=P99") PORT TDI = CONN_CPU.TDI, UCF_NET_STRING=("LOC=P101") PORT TCK = CONN_CPU.TCK, UCF_NET_STRING=("LOC=P98") PORT TMS = CONN_CPU.TMS, UCF_NET_STRING=("LOC=P100") PORT TRST = CONN_CPU.TRST, UCF_NET_STRING=("LOC=P102")

  17. Our.XBD File ### UART ### PORT RXD = CONN_RXD, UCF_NET_STRING=("LOC=P152") PORT TXD = CONN_TXD, UCF_NET_STRING=("LOC=P151") PORT DEACTIVATE = CONN_DEACTIVATE, UCF_NET_STRING=("LOC=P149") PORT ENABLE = CONN_ENABLE, UCF_NET_STRING=("LOC=P150") ### LED ### PORT LED0 = CONN_D2, UCF_NET_STRING=("LOC=P141") PORT LED1 = CONN_D3, UCF_NET_STRING=("LOC=P140") PORT LED2 = CONN_D4, UCF_NET_STRING=("LOC=P139") PORT LED3 = CONN_D5, UCF_NET_STRING=("LOC=P138") PORT LED4 = CONN_D6, UCF_NET_STRING=("LOC=P136") PORT LED5 = CONN_D7, UCF_NET_STRING=("LOC=P134") PORT LED6 = CONN_D8, UCF_NET_STRING=("LOC=P133") PORT LED7 = CONN_D9, UCF_NET_STRING=("LOC=P132")

  18. Our.XBD File ### PUSH_BUTTON ### PORT PUSH2 = CONN_SW2, UCF_NET_STRING=("LOC=P109") PORT SDO = CONN_SDO, UCF_NET_STRING=("LOC=P94") ### DIP_Switches ### PORT DIP1 = CONN_DIP1, UCF_NET_STRING=("LOC=P123") PORT DIP2 = CONN_DIP2, UCF_NET_STRING=("LOC=P122") PORT DIP3 = CONN_DIP3, UCF_NET_STRING=("LOC=P121") PORT DIP4 = CONN_DIP4, UCF_NET_STRING=("LOC=P120") PORT DIP5 = CONN_DIP5, UCF_NET_STRING=("LOC=P114") PORT DIP6 = CONN_DIP6, UCF_NET_STRING=("LOC=P113") PORT DIP7 = CONN_DIP7, UCF_NET_STRING=("LOC=P112") PORT DIP8 = CONN_DIP8, UCF_NET_STRING=("LOC=P111")

  19. Our.XBD File ### Digital Thermometer ### PORT TDATA0 = CONN_TDATA0, UCF_NET_STRING=("LOC=P206") PORT TDATA1 = CONN_TDATA1, UCF_NET_STRING=("LOC=P205") PORT TDATA2 = CONN_TDATA2, UCF_NET_STRING=("LOC=P204") PORT TDATA3 = CONN_TDATA3, UCF_NET_STRING=("LOC=P203") PORT TDATA4 = CONN_TDATA4, UCF_NET_STRING=("LOC=P97") PORT TDATA5 = CONN_TDATA5, UCF_NET_STRING=("LOC=P96") PORT TDATA6 = CONN_TDATA6, UCF_NET_STRING=("LOC=P95") PORT TDATA7 = CONN_TDATA7, UCF_NET_STRING=("LOC=P199") END

More Related