|
Convert state diagram into hardware diagram
(4:20)
1. Draw state register 2. Create next-state decoder 3. Create output decoder
4. Connect to global resources (clock, reset) 5. Define asynchronous reset
state 6. Identify primary inputs and outputs 7. Identify bus widths |
|
Use 'symgen' to create schematic symbols
(4:50)
1. Begin with new Xilinx project 2. Ensure '130.v' and ‘symgen.exe’ files
are in project folder 3. Start 'symgen' application 4. Create register
symbol for state register 5. Create "big MUX" 6. Create constant operators
7. Create comparators |
|
Enter the schematic into Xilinx
(7:22)
1. View files created by ‘symgen’ 2. Create new schematic source 3. Place 'symgen'-created
symbols 4. Connect symbols with wires 5. Name the primary I/O nets 6. Add
I/O markers 7. Connect register clock and reset 8. Create clock and reset
input ports |
|
Simulate the schematic design in Cadence
(9:50)
1. Choose I/O port names to match Verilog Template Maker (VTM) 2. Set the
register's "clock enable" to a logic 1 3. Bring out FSM "state" and "next
state" busses 4. Create testbench template 5. Create input waveform to test
all possible paths in state diagram 6. Create Verilog module from schematic
(.vf file) 7. Start NC-Sim 8. Set design directory to the Xilinx project
folder 9. Create CDS.LIB file 10. Include *.vf in filter list 11. Select all
Verilog files associated with the schematic 12. Compile all Verilog files
13. Elaborate the testbench module 14. Launch the testbench simulation 15.
Choose waveforms to display 16. Run the simulation 17. Confirm correct
behavior of FSM |
|
Prepare the design for implementation on the
Spartan-3 board (16:10)
1. Save simulation-only schematic (optional) 2. Remove simulation-only
components 3. Create symbols for selected 130.v library components 4. Place
the selected 130.v library components 5. Connect components to global
resources (clock, reset) 6. Connect the switch debouncer to primary input
"A" 7. Connect the "clock enabler" to register 8. Finish remaining "clock
enabler" connections 9. Connect "DisplayHex" outputs 10. Create operators to
promote 2-bit bus to 8-bit bus 11. Connect "present state" bus to right side
of display 12. Connect "next state" bus to left side of display 13. Add
associated .v files for each 'symgen' symbol 14. Assign pins to Spartan-3
resources (create UCF file) |
|
Synthesize to a bitstream file (and
interpret the synthesis warning messages) (3:59)
1. Start synthesis process 2. Determine which warnings to ignore... 3. ...
and which warnings to pursue further 4. Discuss "removed logic" 5. Continue
with implementation process 6. Create the bitstream file |