![Page 1: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/1.jpg)
Recognition of Hand-Drawn Circuits
Vijay Shah
Ravi Palakodety
![Page 2: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/2.jpg)
Project Goals
• Input a hand-drawn circuit
• Recognize components and values
• Understand connectivity
• Generate primitive SPICE netlist
• Output to LCD monitor
![Page 3: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/3.jpg)
Layout
• Draw components on 8x8 grid
• Each grid block 64x64 pixels– Component area– Text area
• Monochromatic image (binary)
![Page 4: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/4.jpg)
Drawing Rules
• Entire component must fit in one grid block• Appropriate borders must be crossed• Component must avoid designated text
area• Drawings must be “reasonably” accurate• Limited number of components
• Text must follow separate text grid
![Page 5: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/5.jpg)
Recognition
Memory Handling Component Recognition
Text Recognition Store Information
Minor FSMs to recognize different
components
![Page 6: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/6.jpg)
Component Recognition
• Decision tree method
• Identify important characteristics– Number of terminals– Continuous?– Important “Gaps”
![Page 7: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/7.jpg)
Decision Tree
Original Image
Vertical 2-Terminal ComponentsHorizontal 2-Terminal Components1-Terminal Components (Top Edge)
3-Terminal Components
Recognized Component Uniquely Defined by Edge
Combination
Edge Check
Test for Discontinuities, Gaps, Thickness
Recognized Component
![Page 8: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/8.jpg)
Text Recognition
• Recognize text in 8x6 blocks
• Use pads to recognize 10 numbers and 7 letters
• Currently, users need to use straight lines
• More pads will be added to allow the user greater freedom in writing
![Page 9: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/9.jpg)
Video Block Diagram
![Page 10: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/10.jpg)
Raw Circuit Display
![Page 11: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/11.jpg)
Ideal Circuit Block Diagram
![Page 12: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/12.jpg)
Ideal Circuit State Transition Diagram and Example Output
![Page 13: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/13.jpg)
Spice Display Block Diagram
![Page 14: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/14.jpg)
Spice Display State Transition Diagram and Example Output
V0 0 1 DC 5R0 1 2 100kQ0 2 3 3 NPN
![Page 15: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/15.jpg)
Analysis Flowchart
• Depth-First Search with Enqueued List
• Enqueued List is 64-bit register
• Stack module abstraction
• Node RAM holds values for all possible nodes
![Page 16: Recognition of Hand-Drawn Circuits Vijay Shah Ravi Palakodety](https://reader036.vdocuments.us/reader036/viewer/2022082816/56649f495503460f94c6b7c5/html5/thumbnails/16.jpg)
Timeline
• Current Status: Partial component recognition, raw circuit display
• April 22: Component recognition, ideal ckt display without nodes
• April 26: Basic serial communication, ideal ckt display with nodes
• May 2: Load circuit bitmaps over serial line, Spice Display
• May 9: Save spice files over serial line