Slide 1SourcesSlide 3Slide 4Task 1 – Browsing ModeTask 2 – Editing ModeTask 3 – Temperature Measurement ModeTask 4 – Calculation ModeIntroduction to Picoblaze Development Environment (Hands-on Session)ECE 448: Lab 6Using PicoBlazeTemperature MeasurementSerial Communication2ECE 448 – FPGA and ASIC Design with VHDLSources• P. Chu, FPGA Prototyping by VHDL Examples Chapter 14, Picoblaze Overview Chapter 15, Picoblaze Assembly Code Development Chapter 16, Picoblaze I/O Interface Chapter 17, Picoblaze Interrupt InterfaceSSD3SSD3SSD2SSD2INPUTINPUTTEMP_STATUSTEMP_STATUSTEMP_CTRLTEMP_CTRLOUTPUT_INTERFACEINPUT_INTERFACETEMPADDR_DECODERDATARAMPICOBLAZEINSTRUCTIONROMDO[7..0]DI[7..0]out_portA[7..0]port_idA[7..0]instruction addressaddrA[7..0]TA[7..0]dinread_strobewrite_strobedoutSSD3_en, SSD2_en,SSD1_en, SSD0_enTEMP_CTRL_en,RAM_wen,RAM_renwereRAM_wenRAM_renin_portinterruptinterrupt_ackFour 7-segmentdisplaysA[7..0]TD[7..0]T_wenT_wenT_initT_initT_initSSD1SSD1SSD0SSD0registerregisterButtonsRSTDQCLKto DS1620000102. . .3F40414243444546FDFEFF64 x 8 DATARAMINPUTSSD3SSD2TEMP_STATUSTEMP_CTRLINPUT:7 6 5 4 3 2 1 0AA – button active (bit cleared by reading registerINPUT or by interrupt_ack),b3-b0 – status of buttons 3 to 0 respectively; 1 means that the button was pressed.b0b1b2b3TEMP_STATUS:7 6 5 4 3 2 1 0DD – done: bit cleared by writingto register TEMP_CTRL, set after TEMPgenerates 64 8-bit numbers. MNO – currentmeasurement number, changing from 0 to 63.TEMP_CTRL:7 6 5 4 3 2 1 0MM – measure: after 1 is written to this bit,TEMP performs 64 temperature measurements, and stores the results in DATA RAM.SSD1SSD0. . .MAXMINAVRMNOTask 1 – Browsing Mode00 0102030405….3B3C3D3E3F00 0102030405….3B3C3D3E3FAddress DataCurrent AddressTwo 7-SegmentDisplays(in hexadecimalnotation) (SSD1-SSD0)Button 1 = Increment AddressButton 0 = Decrement AddressValue at Current Address64x8 RAMTwo 7-SegmentDisplays(in hexadecimalnotation) (SSD3-SSD2)Task 2 – Editing Mode00 0102030405….3B3C3D3E3F00 0102030405=>06….3B3C3D3E3FAddress DataCurrent AddressTwo 7-SegmentDisplays (SSD1-SSD0)(in hexadecimalnotation)Button 1 = Increment AddressButton 0 = Decrement AddressValue at Current Address64x8 RAMButton 2= EditButton 1 = Increment DataButton 0 = Decrement DataButton 2= ApproveTwo 7-SegmentDisplays (SSD3-SSD2)(in hexadecimalnotation)Task 3 – Temperature Measurement Mode00 0102030405….3B3C3D3E3F4D 4D4E4F5052….5F60626364Address DataButton 3 = Start 64 Temperature Measurements64x8 RAMTask 4 – Calculation ModeButton 3= calculating maximum, minimum, and average64x8 RAM00 0102030405….3B3C3D3E3FFDFEFF4D 4D4E4F5052….5F60626364644D56Address Data…MAX =>MIN =>AVR =>Maximum, minimum, and average are stored in memory locationsat positions FD, FE, and FFrespectively, and displayed usingSSD3-SSD1 in hexadecimal notation.Introduction to Picoblaze Development Environment(Hands-on
View Full Document