1 / 33

Lecture 16 PicoBlaze I/O & Interrupt Interface

Learn about PicoBlaze I/O and Interrupt interface in FPGA and ASIC design using VHDL. Syntax, examples, and timing diagrams included.

fujii
Download Presentation

Lecture 16 PicoBlaze I/O & Interrupt Interface

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. Lecture 16PicoBlaze I/O & Interrupt Interface ECE 448 – FPGA and ASIC Design with VHDL

  2. Required reading • P. Chu, FPGA Prototyping by VHDL Examples • Chapter 16, PicoBlaze I/O Interface • Chapter 17, PicoBlaze Interrupt Interface ECE 448 – FPGA and ASIC Design with VHDL

  3. Syntax and Terminology Syntax Example Definition sX KK PORT(KK) PORT((sX)) RAM(KK) Value at register 7 Value ab (in hex) Input value from port 2 Input value from the port specified by register s1 Value from the RAM location 4 s7 ab PORT(2) PORT((s1)) RAM(4)

  4. Addressing modes Immediate mode SUB s7, 07 ADDCY s2, 08 s7 – 07  s7 s2 + 08 + C  s2 Direct mode sa + sf  sa PORT(2a)  s5 ADD sa, sf INPUT s5, 2a Indirect mode s3 RAM((sa)) PORT((s2))  s9 STORE s3, (sa) INPUT s9, (s2)

  5. Output Decoding of Four Output Registers ECE 448 – FPGA and ASIC Design with VHDL

  6. Output Instructions C Z OUTPUT sX, KK PORT(KK) <= sX OUTPUT sX, (sY) PORT((sY)) <= sX − − DIR IND − −

  7. Timing Diagram of an Output Instruction ECE 448 – FPGA and ASIC Design with VHDL

  8. Truth Table of a Decoding Circuit ECE 448 – FPGA and ASIC Design with VHDL

  9. Input Instructions C Z INPUT sX, KK sX <= PORT(KK) INPUT sX, (sY) sX <= PORT((sY)) − − DIR IND − −

  10. Block Diagram of Four Continuous-Access Ports ECE 448 – FPGA and ASIC Design with VHDL

  11. Timing Diagram of an Input Instruction ECE 448 – FPGA and ASIC Design with VHDL

  12. Block Diagram of Four Single-Access Ports ECE 448 – FPGA and ASIC Design with VHDL

  13. FIFO Interface clk rst rst clk FIFO dout din 8 8 empty full write read ECE 448 – FPGA and ASIC Design with VHDL

  14. Operation of the “Standard” FIFO A B C D −−−−− ECE 448 – FPGA and ASIC Design with VHDL

  15. Operation of the First-Word Fall-Through FIFO ECE 448 – FPGA and ASIC Design with VHDL

  16. ECE 448 – FPGA and ASIC Design with VHDL

  17. Timing Diagram of an Input Instruction ECE 448 – FPGA and ASIC Design with VHDL

  18. Interrupt Flow ECE 448 – FPGA and ASIC Design with VHDL

  19. Timing Diagram of an Interrupt Event ECE 448 – FPGA and ASIC Design with VHDL

  20. ECE 448 – FPGA and ASIC Design with VHDL

  21. Interrupt Related Instructions RETURNI ENABLE PC <= STACK[TOS] ; TOS <= TOS – 1; I <= 1; C<= PRESERVED C; Z<= PRESERVED Z RETURNI DISABLE PC <= STACK[TOS] ; TOS <= TOS – 1; I <= 0; C<= PRESERVED C; Z<= PRESERVED Z ENABLE INTERRUPT I <=1; DISABLE INTERRUPT I <=0;

  22. Interrupt Interface with a Single Event ECE 448 – FPGA and ASIC Design with VHDL

  23. Interrupt Interface with Two Requests ECE 448 – FPGA and ASIC Design with VHDL

  24. PicoBlaze Input/OutputClass Exercise

  25. Task Draw a detailed block diagram of the digital system including: PicoBlaze-6, KCPSM6 4k x 18 instruction ROM required for the basic operation of PicoBlaze 64 x 8 external data RAM visible under addresses 0x00-0x3F 64 x 8 external data ROM visible under addresses 0x40-0x7F two input registers with the virtual addresses 0x80 and 0xCF two output registers with the virtual addresses 0x80 and 0xC0 D flip-flop with the output Q connected to the interrupt input of the PicoBlaze core, input SET connected to the external port INT, and input CLR connected to an appropriate output of the PicoBlaze core ECE 448 – FPGA and ASIC Design with VHDL

  26. Assumptions • • input register with the address 0x80 is the same as the output register with the address 0x80 • • the input and output registers, data RAM, and data ROM specified above are the only i/o devices that the PicoBlaze core is communicating with • • your system needs to be able to allow the PicoBlaze core to write to all aforementioned output registers and data RAM, and read from all the aforementioned input registers, data RAM, and data ROM, using instructions OUTPUT and INPUT, respectively • you need to provide all details of the address decoder, and build it out of basic logic components you are familiar with • all registers and flip-flops have a reset input connected to the external port RESET. ECE 448 – FPGA and ASIC Design with VHDL

  27. Requirements Please clearly mark on your schematic: • sizes of all memories and registers • sizes and directions of all buses. ECE 448 – FPGA and ASIC Design with VHDL

  28. Interface of PicoBlaze-6

  29. rdl – reset during load The program memory has the option to include the JTAG Loader utility which facilitates rapid development of your KCPSM6 program. ‘rdl’ is a ‘reset during load’ signal associated with the loader, which needs to be connected to the reset input of the processor. ECE 448 – FPGA and ASIC Design with VHDL

  30. Development Flow of a System with PicoBlaze ECE 448 – FPGA and ASIC Design with VHDL

  31. PicoBlaze Input/OutputClass ExerciseSolutions

More Related