Oppin käyttämään FPGA: ta (Papilio-kehityskortti, jolla on xilinx spartan3e, käyttäen vhdl: tä).
Minun on jaettava saapuva pulssi (kovakoodatulla) luvulla.
Näen 3 vaihtoehtoa - karkeasti, pseudokoodina (käyttäen esimerkkinä 10 lukua):
- Alusta arvoon 0, kun syötteen nouseva reuna kasvaa yhdellä, verrattuna 10: een;jos ne ovat yhtä suuret, palauta nollaan ja laukaise lähtöpulssi
- Alusta arvoon 10, kun syötteen nouseva reuna pienenee yhdellä, vertaa arvoon 0;jos ne ovat yhtä suuret, palauta arvoksi 10 ja laukaise lähtöpulssi
- Alusta arvoon 9, mutta varmista, että vähintään yksi johtava "0" -bitti on lähtöbittini.Syötteen nouseva reuna pienenee 1. Lähtökohdan nousevalla reunalla nollaa.
Käyttöjakso on merkityksetön.
Onko yksi näistä parempi kuin muut?Onko olemassa vielä parempaa menetelmää, jota en ole ajatellut?
Onko olemassa "tavanomainen" tapa, joka antaa kääntäjälle parhaat mahdollisuudet optimointiin?