Stap 4: Maken de aangepaste VHDL modules
Nu moet u maken de VHDL-code om te bouwen van een 64-bits audio monster met de binnenkomende seriële data van de codec. de 64 bits account voor de 32 bits van het linkerkanaal en 32 bits van het rechterkanaal. Deze Luistervoorbeeld krijgt vervolgens gesplitst in de componenten van de linker en rechter en gefilterd alvorens terug te keren naar de volledige 64 bit monster lengte. In onze implementatie is onze werkelijke audio slechts 12 bits lang. Hiervoor afzonderlijk toe te voegen nullen naar het LSBs van de linker- en audio-samples na filtering en voordat de gegevens opnieuw geserialiseerde.
De module gemaakt neemt in seriële gegevens, de I2S LRCLK, de I2S BCLK, een 50MHz klok (CLK), een reset en een controle-pin te wijzigen van de effecten. De onderstaande blokdiagram detailleert de interne functionaliteit van de SerialEffects Block.
De functionaliteit van elk blok evenals hun inputs en outputs zijn gedetailleerd in de cijfers hierboven.
LRCLK: Gebruikt door persoonlijke RX en TX persoonlijke onderscheid maken tussen de linker- en rechterkanaal.
BCLK: Gebruikt door persoonlijke RX en TX persoonlijke als de klok van de bits te lezen of schrijven van seriële data CLK: 50MHz gebruikt door het filter vervorming voor het verwerken van de gegevens.
De code voor deze modules is hieronder gegeven. Gebruik de bijgevoegde serialIP zip-bestand over de geboden in de oorspronkelijke map voor het blokkeren van de IP-serialIP.