Hoe u uw eerste FPGA LED-knipperlicht kunt bouwen:een stapsgewijze zelfstudie
Stap-voor-stap handleiding:uw eerste FPGA LED-knipperlicht bouwen
Deel 1:VHDL of Verilog ontwerpen
In deze zelfstudie leert u hoe u VHDL- en Verilog-code maakt die een LED aanstuurt op een door de gebruiker gedefinieerde frequentie. Kies de taal die het beste bij uw workflow past.
Wanneer u HDL schrijft, moet u verifiëren dat het ontwerp zich gedraagt zoals bedoeld. Fouten zijn onvermijdelijk, dus simulatie is onmisbaar. Deze tutorial is opgesplitst in twee kritieke fasen:
- HDL-ontwerp
- HDL-simulatie
Het overslaan van simulatie kan leiden tot kostbare foutopsporing op de hardware. Beschouw simulatie als een verplicht controlepunt.
Projectvereisten
Schrijf HDL die een LED laat knipperen op 100 Hz, 50 Hz, 10 Hz of 1 Hz met een werkcyclus van 50%. Twee schakelaars selecteren de gewenste frequentie, en een extra LED_EN schakelaar moet hoog zijn om de LED in te schakelen. De FPGA werkt op een 25MHz-oscillator.
Waarheidstabel voor de frequentiekiezer:
| Inschakelen | Schakelaar1 | Schakelaar2 | LED-aandrijffrequentie |
|---|---|---|---|
| 0 | – | – | uitgeschakeld |
| 1 | 0 | 0 | 100 Hz |
| 1 | 0 | 1 | 50 Hz |
| 1 | 1 | 0 | 10 Hz |
| 1 | 1 | 1 | 1 Hz |
| Signaalnaam | Richting | Beschrijving |
|---|---|---|
| i_clock | Invoer | 25MHz klok |
| i_enable | Invoer | Schakelaar inschakelen (logic0 =LED uit) |
| i_switch_1 | Invoer | Frequentiekeuzeschakelaar1 |
| i_switch_2 | Invoer | Frequentiekeuzeschakelaar2 |
| o_led_drive | Uitvoer | LED-aandrijfsignaal |
