connect four project
DESCRIPTION
Connect Four Project. Fall 2011 Anna Grimley & Josh Mandich Lab Section: F. Connect Four Game. Objectives Create Verilog Code for Connect Four Logic Synthesize Code Create Layout. Project Constraints. Game as Two Players Must use 4x4 matrix of LED’s - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/1.jpg)
Connect Four ProjectFall 2011Anna Grimley & Josh MandichLab Section: F
![Page 2: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/2.jpg)
Connect Four Game
Objectives1. Create Verilog Code for Connect Four Logic2. Synthesize Code3. Create Layout
![Page 3: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/3.jpg)
Project Constraints
Inputs Outputs
PONE 0:3 Red 0:15
PTWO 0:3 GREEN 0:15
START PONEWIN
PTWOWIN
0Boolean: 0000
10001
20010
30011
40100
50101
60110
70111
81000
91001
101010
111100
121101
131110
141110
151111
Game as Two PlayersMust use 4x4 matrix of LED’sPlayer must be able to start by using the START inputPONE always starts, PONE&PTWO can not give input simultaneously Player must be able to start by using the START input
Other times to think aboutMust not allow a player to overwrite previous selection.Must not allow player to play out of turnGame must stop when player winsA 4x4
![Page 4: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/4.jpg)
Strategy• Keep code simple• Take into consideration what is synthesizable and
what is not• Start building code early and seek for help
Truly elegant design incorporates top-notch functionality into a simple, uncluttered form.
— David Lewis
![Page 5: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/5.jpg)
Verilog HDL• At Start==0
sets all registers to 0. and turn=1
• Continues to check PONEWIN & PTWOWIN are zero at all steps
![Page 6: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/6.jpg)
Verilog Code
Input and Start
![Page 7: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/7.jpg)
Verilog Code
Light LED from User Input
![Page 8: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/8.jpg)
Verilog Code
Detect Winning Input
![Page 9: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/9.jpg)
Testing Verilog Code
Test Bench• Wanted to Test
Player can not keep playing when LED already selected
• Proved that PONEWIN would work when PONE had won
![Page 10: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/10.jpg)
VSIM Testbench Output
![Page 11: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/11.jpg)
SynthesizingSchematic of elaborated Verilog Connect 4. (Code in RTL compiler)
![Page 12: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/12.jpg)
SynthesizingSchematic of Optimized Connect 4(Code integrated with OSU lib)
![Page 13: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/13.jpg)
SynthesizingSchematic of Optimized Connect 4(Code integrated with OSU lib)
![Page 14: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/14.jpg)
Synthesizing Schematic cell view of synthesized Connect4 code in Virtuoso
![Page 15: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/15.jpg)
Layout• Initial Floor Plan• Floorplan layout
with power rings
![Page 16: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/16.jpg)
LayoutCell and IO pin Placemnent
![Page 17: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/17.jpg)
Layout• Power and Ground
Routing• Power Routing
between die I/O and standard cells
![Page 18: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/18.jpg)
LayoutFinal layout view of Connect4.v in Encounter with filler added
Yay! Celebrate!!!
![Page 19: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/19.jpg)
Final LayoutUsing OSU_stdcells_ami05 library.
![Page 20: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/20.jpg)
Major Take Away’s• Understand what verilog can be synthesized and
what can not• Keep Verilog simple• Be patient with synthesizing and layout in
encounter/virtuoso• Spending time on HDL pays off in synthesizing
![Page 21: Connect Four Project](https://reader035.vdocuments.site/reader035/viewer/2022081421/568134a2550346895d9ba0e9/html5/thumbnails/21.jpg)
Ha Ha HaNot this Connect Four