Verilog adders (Verilog optimalisering) Jeg hadde antatt Verilog ville kollapse konstanter, men jeg lurer på om det alltid er truedallowed Hvis jeg har noe som reg 7: 0 sig1, sig2, sig3 alltid sig3 1 2 3 sig1 sig2 4 Det må være minst 2 adderere. Er Verilog pålagt å produsere 3 tilføyere Koden kan enkelt kollapses til sig3 6 sig1 sig2 4 Verilog vurderer venstre til høyre, så dette blir sig3 ((6 sig1) sig2) 4 Dette krever 3 tilføyere. Er det lovlig for Verilog å kompilere den opprinnelige koden til: sig3 10 sig1 sig2 Tanker Takk John Providenza De fleste synteseverktøyene vil dra nytte av assosiative og kommutative egenskaper av uttrykk for å gi optimal implementering. Hvis de ikke gjør det, bruker jeg dem ikke lenge. Andy På Aug 29, 7: 03A0am, Andy ltjonesa. comcastgt skrev: gt De fleste synteseverktøyene vil dra nytte av associative og gt commutative egenskaper av uttrykk for å produsere en optimal gt-implementering. Hvis de ikke gjør det, bruker jeg dem ikke lenge. gt Andy For grins skapte jeg en veldig enkel test sak og syntetiserte den ved hjelp av Xilinx XST synthesizer. Her er koden: modultest (input clk, input 7: 0 a, b, output reg 7: 0 z) reg 7: 0 a1, b1, z1 alltid (posedge clk) begynner a1 lt3D a b1 lt3D b. verilog-system verilog integrasjon Jeg gjør en system verilog begrensning tilfeldig testbenk. Jeg har et løpende testmiljø i verilog. Nå når jeg prøver å kjøre dette verilog-testbænken i mitt miljø, ser jeg en hel del syntexfeil på verilog, hvilken annen klok ikke forekommer. Jeg har også brukt - sverilog-bryteren for VCS. Kan noen foreslå hvordan du blander verilog - og systemverilog-kompilasjonen slik at du ikke støter på slike problemer Hei, Min gjetning er at Verilog-koden bruker SV reserverte ord som quotdopriorityquot etc. Vis oss noen feil for å si mer solidt. I så fall, se: synopsyslinksvamar05.htmlBAC-vaampLinkVAHomeMar05Issue I utgangspunktet trenger du å bruke brytere som: systemverilogext. sv etc. HTH Ajeetha, CVC noveldv gomsi skrev: gt Jeg gjør en system verilog begrensning tilfeldig testbenk. Jeg har en opp gt og kjører testmiljø i verilog. Nå når jeg prøver å kjøre dette gt system verilog testbænken i mitt miljø ser jeg en masse gt syntex feil på verilog som ikke annet skjer. Jeg har også brukt gt - sverilog-bryteren for VCS. Kan noen foreslå hvordan du blander verilog - og systemverilog-kompilasjonen slik at du ikke støter på slike gt-problemer gomsi skrev: gt Jeg gjør en system verilog-begrensning, tilfeldig testbenk. Jeg har en opp gt og kjører testmiljø i verilog. Nå når jeg prøver å kjøre dette GT system verilog testbenken i mitt miljø ser jeg en wh. verilog plse hjelpe meg med dette. Jeg har en matlab kode jeg ønsket å konvertere den til vhdl eller verilog. noen har en ide om dette. pls hjelpe meg med dette. Kiran. verilog sir. Jeg gjør et prosjekt på WCDMA for min B tech. i er en b tech siste årsstudent student. så tvilen min er, jeg har en konvolusjonskoder med tre bit register. Hvilken type dekoder jeg kan bruke for den tilsvarende encoder. plz gi meg en løsning, og jeg må laste ned convolution encoderen til FPGA. Jeg vet ikke hvordan plz gir meg en løsning smubarak. e 23. februar kl. 16:38, lovetoesm ltloveto. gmailgt skrev: gt sir. Jeg gjør et prosjekt på WCDMA for min B tech. i er en B tech final gt år std student. gt, så tvilen min er, jeg har en konvolusjonskoder med tre bit gt register. hvilken type dekoder jeg kan bruke for den tilsvarende gt encoder. plz gi meg en løsning gt og jeg må laste ned convolution encoderen til FPGA. i vet ikke gt hvordan gir meg en løsning, hei mubarak, du kan velge en viterbi dekoder for din konvolusjonskoder. Du kan implementere i verilog. Du kan laste ned konvolusjonskoderen til FPGA, for det kan du velge noen bruker IO fra FPGA for den tilsvarende porten i programmet. Som tilbakestill, last, skift som dette. Hvis du ikke kjenner verktøystrømmen, så informer meg det. Jeg vil hjelpe deg for ethvert verktøy. det laster ned programmet til FPGA. Hvis du er i tvil, så har jeg noen andre ting i vlsi plz, informere oss om mentorssignatrix. in signatrix. in. Automatisk ferdigstillelse for Verilog og System Verilog Hei, jeg vil skrive en automatisk ferdigstillingsfunksjon for en Verilog og SV IDE som inkluderer følgende funksjoner: 1. Word-ferdigstillelse. 2. Medlemmets gjennomføring. 3. Parameteravslutning Jeg leter etter alt materialet jeg kan finne som kan hjelpe meg med å få ideer om hvordan man implementerer en slik funksjon. Har du noen forslagslink du kan peke meg på for åpne kilderartikler om dette emnet Takk, Orly Hei, jeg opprettet en emacs-modusfil for SV som ville gjøre disse tingene ganske bra. Største problem I39ve er innrykket. Ærlig talt ikke jeg en LISP-ekspert, heller hacket noen gammel VERAJEDAPSL-modus for å jobbe for SV. Jeg kan sende den til deg (eller laste opp til noveldv, men det vil ta noen dager) hvis du sender meg en epost til gmail ajeetha Ansvarsfraskrivelse: Det er en ikke velskrevet modusfil, minst en bruker likte det så mye så ikke høyt forventninger vær så snill. Jeg liker det bare for quotword completionquot og ingenting annet. Jeg har ikke brukt nok tid til å oppdatere og holde det som jeg er opptatt med andre ting. BTW - hvilken IDE er du targetting Hilsen Ajeetha noveldv. hvordan å lage Verilog netlist uten Verilog lisens Jeg jobber med en blandet signal chip og jeg vil gjerne lage en Verilog netlist av noen av mine blokker for den digitale fyren på prosjektet. Jeg bruker DFII og jeg har ikke en NC Verilog lisens, trenger jeg bare for å lage en netlist jeg prøvde Tools-gtSimulation-gtNCVerilog fra skjematisk og File-gtexport fra icfb uten lykke. Hvis jeg ikke kan gjøre en netlist direkte, har noen en spectreToVerilog ((eller CDLToVerilog) omformer de kan peke meg på. Et raskt søk på dette nettstedet viste ikke noe. Takk på forhånd DAvid Reynolds På 21 Jun 2006 05:53:59 -0700, quotDReynoldsquot ltspurwinktechgmailgt skrev: gt Jeg jobber med en mixed signal chip og jeg vil gjerne lage en gtVerilog netlist av noen av mine blokker for den digitale fyren på gtproject. Jeg bruker DFII og jeg har ikke en NC Verilog lisens , gjør jeg det bare for å opprette en netlist jeg prøvde Tools-gtSimulation-gtNCVerilog gtfrom skjematisk og File-gtexport fra icfb uten lykke. gt gtI kan jeg bare lage en netlist, har noen en spectreToVerilog gt ((eller CDLToVerilog) konvertere de kan peke meg til Et raskt søk på gtthis-området viste ikke noe. gt gtthanks i forveien gt gtvidvid Reynolds Du trenger ikke et Verilog-lisens eller NC Verilog-lisens til netlist. Du trenger imidlertid et quot21400quot-lisens (cv Virtuoso R) Skjematisk E detektor Verilog (R) Interfacequot). Med andre ord trenger du ikke en simulator lis. verilog-a Er det noen verilog-en bestemt nyhetsgruppe Takk Keith. verilog-A Hei hva er verilog-A, er det noe som er relatert til analog, er det noen verktøy fra kadensstøtte som Takk Verilog-A er et analogt oppførselsmodell språk. Se accellera og verilog-ams Du kan også se på den nye boken QuoteThe Designer's Guide to Verilog-AMSquot av Ken Kundert og Olaf Zinke (Kluwer Academic Publishers). Den støttes i Cadence in Specter (den første simulatoren for å støtte Verilog-A), og også i AMS Designer-simulatoren. Hilsen, Andrew. På Fre, 6 Aug 2004 10:33:51 -0700, quotCarsonquot ltcarsoni. design av kalkulator i verilog Hei alle, jeg trenger å designe en kalkulator i verilog for 4 operasjoner:, -,,. Det er 8-bits kalkulator. Jeg har designet alle de fire driftsmodulene og de jobber fint. Kalkulatoren gjør også operasjoner på 2 operander. Nå er det jeg ikke klarer å finne ut, hvis jeg trykker på tastaturet (dette kommer til å bli en fpga med tastaturtilkobling) si 12. 3. Jeg mener jeg forventer et svar 3 første gang jeg sier og så det samme må betraktes som en av operandene i neste beregning slik at det endelige svaret er 6. Kan noen gi meg en ide om hvordan å finne ut dette i verilog. Jeg er ganske forvirret. Hilsen. Sunita Sunitajaingmail (Sunita Jain) skrev i meldings nyheter: lt9bfc40d7.0411070448.603c7047posting. googlegt. gt Hei alle, gt Jeg må designe en kalkulator i verilog for 4 operasjoner:, -,,. gt Det er 8-bits kalkulator. gt Jeg har designet alle de fire driftsmodulene og de jobber fint. Kalkulatoren gjør også operasjoner på 2 operander. Nå er det jeg ikke kan finne ut, hvis jeg trykker på tastaturet (dette kommer til å bli en fpga med tastaturet tilkoblet) si 12. 3. gt Jeg mener jeg forventer et svar 3 første gang jeg sier og da den samme gt-tingen må betraktes som en av operandene i neste gt-beregning slik at det endelige svaret er 6. Kan noen gi meg en ide om hvordan man skal finne ut det i verilog. Jeg er ganske mye forvirret. Bestemmelse av filType (verilog, VHDL eller System Verilog) Jeg har en liste over HDL-filer. Hvordan finner jeg ut hvilken type hver fil (Verilog, System Verilog eller VHDL). Ville være bra hvis noen enkle verktøy i CC allerede er der. Jeg trenger ikke å vite smaker av verilog som 95, 2000 etc, men ville ikke ha det ekstra info om det. På 2007-12-11 skrev verylog ltsachin. goyal. newgmailgt: gt Jeg har en liste over HDL-filer. gt Hvordan finner jeg ut hvilken type hver fil (Verilog, System Verilog eller gt VHDL). gt Ville være bra hvis noen enkle verktøy i CC allerede er der. gt Jeg trenger ikke å vite smaker av verilog som 95, 2000 etc, men gt ville ikke ha den ekstra info om det. Personlig vil jeg bare se på filtypen, hvis noen ikke navngir filer riktig, han eller hun skulle forvente problemer :) En annen mulighet: Prøv å kompilere den med din nåværende RTL-simulator og se om den kompilerer rent med enten Verilog, SystemVerilog eller VHDL-modus. Men hvis det av en eller annen grunn er upraktisk, vil det være ganske vanskelig å skille mellom SystemVerilog og Verilog-filer, siden en fil kan være både lovlig Verilog og SystemVerilog samtidig. Faktisk er en tom fil både en juridisk Verilog og SystemVerilog-fil hvis jeg leser BNF riktig. Distuingishing mellom en VHDL-fil og en ikke-VHDL-fil er trolig lettere hvis det er nok for deg. Jeg har ikke sett på det for mye, men jeg tror det er bare et spørsmål om å strippe alle VHDL-type kommentarer og se etter granen. problem med verilog-in i når du bruker aritmetisk skift i verilog vode. Hei alle, når jeg bruker verilog-i i ic5141, vises det en sytanx feil quotgtgtgt errorquot. Min verilog-kode har aritmetisk skift gtgtgt adn ltltlt, som er den nye egenskapen til verilog-2001. og jeg gjør verilog-i drift i oppførsel RTL, spørsmålet mitt er: hvordan fikse denne feilen og fortsatt: Fungerer ic5141 verilog-in funksjon verilog2001 verison39s arithemetic shift operator quotgtgtgtquot og quotltltltquot. Takk skal du ha. På 8 13. 1 09. ponderboy ltcqu. yahoo. cngt skrev: Kan noen hjelpe meg, vær så snill. gt He. system verilog ques. Er det en egen nyhetsgruppe for system verilog rand bit 7: 0 byte0 rand bit 7: 0 byte1 Følgende begrensning virker: begrensning xyz (byte0 gt39h61 ampamp byte0 lt39h7a) - gt byte1 innsiden Men jeg vil endre det til noe med dette: begrensning xyz annet byte1 inne Er det mulig å ha et parameterisert verilogmodulnavn i verilog eller systemverilog Hei, jeg prøver å lage verilog-modul som kan støtte parameterisert forekomst n ame. Jeg forstår at signalbredden og andre slike ting kan parameteriseres. Men kan vi også parameterisere modulens forekomstnavn I følgende kode er jeg nysgjerrig på om det er noen måte SomeDynamicInstanceName kan parameteriseres også, jeg kan prøve å bruke system verilog hvis det kan helle her20 Mitt formål er å kunne gjenbruke verilog gmon modul (generisk verilog modul) for ulike typer signaler. Men for en grunn må jeg bytte til SomeDynamicInstanceName. Jeg har kontroll o. Verilog simulering av plassert nettverk med verilog XL Hei, jeg vil simulere verilog netlisten av plassert og rutet design oppnådd fra Cadence SoC Encounter. Jeg har sdf filen fra SoC Encounter. Jeg bruker Verilog XL. Jeg brukte kommandoen sdfannotate i testbenchen som følger start begynn sdfannotate (quot. design. sdfquot, instancename.) End Er dette den rette måten å gjøre det Takk på forhånd. Hilsen, Ajay. For hjelp-verilog design av en kalkulator Hei, jeg er en ny student med hovedroll i LSI. Nå må jeg designe en kalkulator ved hjelp av verilog. Det er lekser på et kurs. Jeg leter etter noen referanse kode om det som jeg har svært lite erfaring å programmere i Verilog. Jeg vil bli veldig verdsatt med hjelpen din. BTW, funksjonene jeg må innse, inkluderer Legg til, Trekk, Multiply, Divisjon, N. C, Skift, MC, MS, MR, M, M-. Takk skal du ha. davidbarby ltdanyangqusuou. waseda. jpgt skrev i meldingsnyheter: 6eb3db6ca7f5485d9d696440776471c6localhost. talkaboutprogramming. gt Hei, gt gt Jeg er en ny student med hovedroll i LSI. Nå må jeg designe en kalkulator gt ved hjelp av verilog. Det er lekser på et kurs. gt Jeg leter etter noe referanse kode om det som jeg har veldig lite gt erfaring å programmere i Verilog. Jeg vil bli veldig verdsatt med gt hjelpen. gt BTW, de funksjonene jeg må innse, er Legg til, Trekk, Multipliser, gt Divisjon, N. C, Skift, MC, MS, MR, M, M-. gt gt takk. Hvorfor sier du ikke hvordan du tror det burde bli nærmet jeg ikke er vanskelig, egentlig ville jeg ikke vite hvor du skal begynne uten å tenke på det - kanskje hvis du bare gjorde det og deretter publiserte det du tror, kan det begynne å starte en interessant diskusjon :) takk mye for svaret ditt, men jeg tror jeg ikke får din mening. Oppriktig, jeg mangler erfaring om det og leter etter noen hjelper. Kan du snakke med meg om noe jeg trenger noen. Konvertering Verilog Test Env. til System Verilog amp Åpne Vera Hei Alt, jeg jobber med en oppgave med å konvertere gamle BFMer og testmiljø opprettet i Verilog til System Verilog og Open Vera. Det inkluderer konvertering av testbenker og BFMer Generering av synopsys og brukerdefinerte klasser og å lage et høyt nivå innpakning av system verilog som skal brukes med Vera. Vennligst hjelp meg med veiledning, dokumenter og tips relatert til denne oppgaven Hilsen Takk på forhånd Kedar Hei, Kedar - Du kan eller ikke allerede vet dette, men for andre lesere som overvåker denne tråden, la meg si hva som allerede er kjent: SystemVerilog er fullt bakoverkompatibel med Verilog-2001, og det er vanligvis ikke fornuftig å bruke tid til å konvertere gamle Verilog-2001 BFM testbenker til den nye Synopsys klassebaserte VMM-stilen av testbenk. For nye testbenker, gir en tilnærming som dette fornuftig mening. Du må først forstå SystemVerilog-syntaks, og deretter kan du forfølge dette handlingsprogrammet ved å lese Janick Bergeron, et al39s bok, Verifikasjonsmetodikkhåndbok for SystemVerilog, utgitt av Springer (ny bok). Du kan ansette noen SystemVerilog konsulenter for å hjelpe deg med å gjøre jobben (jeg gjør ikke dette selv). Du vil kanskje også vurdere SystemVerilog for Verification trening for å komme i gang med dette (Jeg gjør dette :-) Hilsen - Cliff Cummings Verilog amp SystemVerilog Guru sunburst-design gt Du kan ansette noen SystemVerilog konsulenter for å hjelpe deg å gjøre jobben gt ikke gjør dette m. Hvor jeg kan få eller kjøpe BSIM3v3 modellfil i Verilog-a eller Verilog-ams I39m prøver å bruke spekter verilog-a til å bygge min egen nedbrytingsmodell. bigbag skrev: gt I39m prøver å bruke spekter verilog-a til konstruere min egen nedbrytningsmodell. Du kan prøve å få dette fra tiburon tiburon-da eller kontakte berkeley direkte. Hvor jeg kan få eller kjøpe BSIM3v3 modellfil i Verilog-a eller Verilog-ams 2 I39m prøver å implementere min egen nedbrytningsmodell i kadence Spøkelse ved hjelp av verilog. Hvem kan hjelpe meg, takk så mye. Du kan finne en MOS nivå 1 veriloga modell i Cadence installasjonsverktøy. lnx86dfIIsamplesartistahdlLibmoslevel1verilogaverilog. va --- Erik zcuimail. ucf. edu (bigbag) skrev i meldingsnyheter: ltf8f9930c.040 1151449.27f4e7c4posting. googlegt. gt I39m prøver å implementere min egen nedbrytningsmodell i kadensspektret gt ved hjelp av verilog. Hvem kan hjelpe meg, takk mye. Se også følgende: tools. lnx86dfIIsamplesartistahdlLibmostftverilogave. I-Q FIR-filter ved hjelp av verilogverilog-a gir ingen utgang på en kanal Jeg bygget opp en IQ-demodulator ved hjelp av verilog-a-blokker. Ved utgangen går både I - og Q-stiene gjennom et identisk FIR-filter. Utgangen av I-banen ser ut som det jeg forventer, men Q-banen er i utgangspunktet null - den har 250 dB lavere forsterkning enn I-banen. Jeg har prøvd en rekke ting: Jeg re-laget filtersymbolet og verilog-koden fra bunnen av bibliotekets leder. Jeg slette all den sammensatte AHDL-koden som tilhører filtrene, og tvang den til å kompilere jeg opprettet en ny versjon av filteret fra bunnen av. Jeg får det samme resultatet uansett hva. Hvis jeg hekker I-kanalen opp til. gjør 39slow39 beregninger i verilog Hvis du bruker en kontinuerlig eller ikke-blokkering i Verilog, og det høyre uttrykket er noe som i en ekte enhet tar tid å bli gyldig etter at inngangene blir gyldige, hvordan sikrer du at utgangen er gyldig når du vil bruke det For eksempel: input 1000: 0 megaparitet tilordne foo megaparity alltid (posedge clk) megaparity gyldig på denne clk savedparity lt foo når er dette gyldig Hva om kaskad xor kjeden er så sakte it39s mer enn en clk periode Mer enn 20 Hvis du antar at det er tregere enn det er (venter noen fast antall klokker) gjør. konfigurasjon for en blandet modus VHDL-verilog lang Hei alt Mitt problem er at jeg liker å velge en VHDL-fil som er instansiert i verilog via VHDL-konfigurasjonen. Slik summerer: Jeg har en hierarcy: quottop: vhdl - verilog - Verlog - vhdl: bottomquot Hvordan skrive en vhdl konfigurasjon for å velge filen for den nederste instantiation Rakesh YC prøve. beregne gjennomsnitt Slik får du gjennomsnittet av flere felt. Hvilket tegn å plassere mellom feltene For eksempel: gjennomsnittlig (age1ampage2) Sign-forsterkeren er ikke riktig. Hvilket tegn er. Laura. quotLaura Eekelsquot ltlaura. eekelsxx. yygt skrev i meldingsnyheter: 3fce13ec0214e4fe514cnews. xs4all. nl. gt Hvordan få gjennomsnittet av flere felt. gt Hvilket tegn å plassere mellom feltene gt For eksempel: gjennomsnittlig (age1ampage2) gt Sign-forsterkeren er ikke riktig. Hvilket tegn er. gt Laura. Avg (Field1 Field2 Field2) - Bradley Software Developer hrsystems. au En Christian Response pastornet. auresponse Takk for svaret, men jeg prøvde det allerede. og det virker ikke. Gem (field1field2) field17field28 gir resultatet 78 og ikke gjennomsnittet. Har du andre forslag Laura quotBradleyquot ltbradleyREMOVETHIScomcen. augt skrev i melding nyheter: jtszb.38208aT.14986news-server. bigpond. au. GT quotLaura Eekelsquot ltlaura. eekelsxx. yygt skrev i meldingen gt news: 3fce13ec0214e4fe514cnews. xs4all. nl. gt gt Hvordan få gjennomsnittet av flere felt. gt gt Hvilket tegn å plassere mellom feltene gt gt For eksempel: gjennomsnitt (age1ampage2) gt gt Signer forsterkeren er ikke riktig. Hvilket tegn er. gt gt gt laura. gt gt Avg (Field1 Field2 Field2) gt gt - gt Bradley gt Software Developer timer. verilog stil Hei alle, kan noen gi meg litt adive om følgende kode. reg A reg B wire og tilordne C og ampamp (A B) (1) logisk og tilordne D og amp (A B) (2) bitvis og hvilken som er bedre. (1) eller (2). Takk for noe forslag Essen skrev: gt Hei alle, gt gt Kan noen gi meg litt adive om følgende kode. gt gt A gt reg B gt wire gt gt tilordne C og ampamp (A B) (1) logisk OG gt tilordne D og amp (A B) (2) bitwise og gt gt hvilken som er bedre. (1) eller (2). gt gt Takk for eventuelle forslag Hei I dette tilfellet er begge korrekt. Fordi A, B og en betraktes som boolsk det er. enkeltbit. Hvis du går med flere bit operander, vil du finne en forskjell. Takk og hilsen karthikeyan TooMuch Semiconductor Solutions, Bangalore. strenger i verilog Hei Jeg hadde et problem med strenger i verilog. Jeg har en JTAG-statlig maskin og en testbenk som kjører den. Jeg beveger seg gjennom forskjellige JTAG-stater som refereres av 4bit binær som TlR 439b0000 RTI 439b0001. I min rtl hadde jeg noe som helst, reg4: 0 presstate definere TLR 439b0000 definere RTI 439b0001. reg4: 0 presstat reg4: 0 nextstate alltid (posedge tclk). Forhåndsstatus Det neste når jeg simulerer det, og ser bølgene på bølgeformvinduet, blir det veldig vanskelig å dekode statene ved å se på tall, så jeg tenkte om jeg kan bruke tegn til å representere forskjellige JTAG-stater. Jeg hadde noe som dette, reg 38: 0 presstate Men jeg fant ascii verdier av forskjellige stater representert på bølgeformen. Kjenner dere grunnen. Så hvordan kan jeg representere strenge i stedet for tall jeg vet at jeg kan bruke skjermen, men jeg vil at mine strenger skal vises i mine bølgeformer. Takk Rik rik skrev: gt gt Men jeg fant ascii verdier av forskjellige stater representert på gt bølgeformen. Kjenner dere grunnen. Fordi det er hvordan strenger er representert i Verilog (og programmeringsspråk generelt). gt Jeg vet at jeg kan bruke skjermbildet, men jeg vil at strengene mine skal vises i min waveforms. Dette er ikke et problem med Verilog. Dette er et problem med din waveform viewer. Hvis den har muligheten til å vise. Ja, jeg har allerede filterkoeffisientene. Det er lett å generere hvis du har stoppbåndet og passerer båndspesifikasjoner med deg. Et annet spørsmål har du noen ide om hvordan kan jeg implementere FIR-filtre i kaskade. Som antar at jeg har inntasting x (n) og jeg vil ha en utgang y (n) så vil min overføringsfunksjon være en blokk med 3 små FIR-filterblokker dvs. (H (z) Y (z) X (z) A z)). Mitt virkelige problem ville være hvordan å fusjonere alle disse tre filtrene sammen i kaskade for å få output y (n). Gi meg bare en tøff ide eller pseudokode, eller hvis du har koden, vennligst lim den inn. ndash D X Feb 21 13 kl 9:11 Alternativene dine er i utgangspunktet (1) utforme et enkelt filter for overføringsfunksjonen, eller (2) ring convolution-funksjonen gjentatte ganger, en gang for hvert filter i kaskaden. Så vidt jeg kan huske, (1) viser seg å være en konvolusjon for (for hvert par filtre kombinert), men jeg må gå tilbake til lærebøkene mine for å være sikker. ndash Steve314 Feb 21 13 kl 9:17 For å kombinere flere filtre: Start med enhetsimpuls (et signal med 1 i første posisjon og 0 overalt). Påfør det første filteret. Påfør det andre filteret. Fortsett til alle filtre blir brukt. Resultatet viser hvordan de kombinerte filtrene sammenfaller enhetens impuls (forutsatt at arrayet er lang nok til at ingen data ble tapt), så verdiene i det er koeffisientene for ett filter som er sammensetningen av de andre filtrene. Her er prøvekode: Mean filter, eller gjennomsnittlig filter Kategori. Programvareutvikling for digitalt signal og bildebehandling (DSP og DIP). Abstrakt. Artikkelen er en praktisk veiledning for gjennomsnittlig filter, eller gjennomsnittlig filterforståelse og - implementering. Artikkelen inneholder teori, C kildekode, programmeringsinstruksjoner og prøveapplikasjon. 1. Introduksjon til gjennomsnittlig filter, eller gjennomsnittlig filter Gjennomsnittlig filter. eller gjennomsnittlig filter er windowed filter av lineær klasse, som jevner signalet (bilde). Filteret fungerer som lavpass en. Den grunnleggende ideen bak filteret er for ethvert element av signalet (bildet) et gjennomsnitt over hele nabolaget. For å forstå hvordan det gjøres i praksis, la oss begynne med vinduets ide. 2. Filter vindu eller maske La oss forestille oss, bør du lese et brev og det du ser i tekst begrenset av hull i spesiell stencil som dette. Så, resultatet av lesing er lyd t. Ok, la oss lese brevet igjen, men ved hjelp av en annen stencil: Nå er resultatet av å lese t lyd 240. La oss gjøre det tredje forsøket: Nå leser du brev t som lyd 952. Hva skjer her Å si det I matematisk språk, gjør du en operasjon (lesing) over element (bokstav t). Og resultatet (lyden) avhenger av elementet nabolaget (bokstaver ved siden av t). Og den stencilen, som bidrar til å hente elementet nabolag, er vindu Ja, vinduet er bare en stencil eller et mønster, ved hjelp av hvilket du velger elementet nabolaget 0151 et sett med elementer rundt den givne 0151 for å hjelpe deg med å ta avgjørelse. Et annet navn for filtervindu er maske 0151 maske er en stencil, som skjuler elementer vi ikke betaler oppmerksomhet til. I vårt eksempel er elementet vi opererer på plassert på venstre side av vinduet, men i praksis er dens vanlige posisjon midt i vinduet. La oss se noen vindueksempler. I en dimensjon. Fig. 4. Vindu eller maske av størrelse 5 i 1D. I to dimensjoner. Fig. 5. Vindu eller maske av størrelse 3times3 i 2D. I tre dimensjoner. Tenk på bygging. Og nå mdash om rom i den bygningen. Rommet er som 3D-vindu, noe som skjærer ut noe underrom fra hele rommet. Du kan finne 3D-vindu i volum (voxel) bildebehandling. 3. Forstå gjennomsnittlig filter Nå la oss se hvordan å ldquotake et gjennomsnitt over elementer neighborhoodrdquo. Formelen er enkle 0151 oppsummeringselementer og deler summen av antall elementer. La oss for eksempel beregne et gjennomsnitt for saken, vist i fig. 7. Fig. 7. Ta et gjennomsnitt. Og det er alt. Ja, vi har bare filtrert 1D-signal med gjennomsnittlig filter. La oss lage CV og skrive ned trinnvise instruksjoner for behandling av gjennomsnittlig filter. Gjennomsnittlig filter eller gjennomsnittlig filteralgoritme: Sett et vindu over elementet. Ta en gjennomsnittlig oppsummeringselement på 0151 og del summen av antall elementer. Nå, når vi har algoritmen, er det på tide å skrive noen kode mdash la oss komme ned til programmering. 4. 1D gjennomsnittlig filterprogrammering I denne delen utvikler vi 1D-middelfilter med vindu med størrelse 5. La oss få 1D-signal med lengde N som inngang. Det første trinnet er å plassere vinduet 0151, vi gjør det ved å endre indeksen for det ledende elementet: Vær oppmerksom på at vi starter med det tredje elementet og avsluttes med det siste, men to. Problemet er at vi ikke kan starte med det første elementet, fordi i dette tilfellet er venstre del av filtervinduet tomt. Vi vil diskutere nedenfor, hvordan du løser dette problemet. Det andre trinnet tar gjennomsnittet, ok: Nå, la oss skrive ned algoritmen som funksjon: Typeelementet kan defineres som: 5. Behandling av kanter For alle vindusfiltre er det noe problem. Det er kanten behandling. Hvis du plasserer vinduet over første (siste) elementet, vil venstre (høyre) del av vinduet være tomt. For å fylle gapet, bør signalet forlenges. For gjennomsnittlig filter er det god ide å utvide signal eller bilde symmetrisk, slik: Så før signalet sendes til vår gjennomsnittlige filterfunksjon, bør signalet utvides. La oss skrive ned wrappen, som gjør alle forberedelser. Som du ser, tar vår kode hensyn til noen praktiske problemer. Først og fremst sjekker vi innspillparametrene 0151 signalet skal ikke være NULL, og signallengden skal være positiv: Andre trinn 0151 vi sjekker tilfelle N1. Denne saken er spesiell en, for å bygge utvidelse trenger vi minst to elementer. For signalet med 1 elementlengde er resultatet selve signalet. Vær også oppmerksom på at vårt gjennomsnittlige filter fungerer på plass, hvis utgangsparameterresultatet er NULL. La oss nå tildele minne for signalutvidelse. Og sjekk minne allocation. Thread: DC offset fjerning ved hjelp av FPGA Jeg er ny til grensesnitt FPGAs med DSP konsepter. Jeg har ADCer, og da har jeg deserialiseringsprogrammer etter at de har parallellisert dataene. Så skal jeg bruke DC-fjerning etter deserialiseringen eller før den Kan du kontrollere DC-offset i det analoge domenet Hvis det er så, ville det være bedre å eliminere det der, da kan du bruke hele dynamisk rekkevidde av ADC. Hvor kommer denne DC fra Hvis din ADC er koblet til AC, kan DC skyldes en dårlig inngangsspenning, som noen ADCer gir kontroller for å eliminere. Hvis ADC-en er koblet til DC, må du bestemme hvorfor DC-koblingen er, og bestemme om du vil bytte til AC-kobling for din nåværende applikasjon. Også, jeg trenger veiledning om DC fjerning. Jeg har studert om det, men fikk ingenting som en endelig konklusjon om å søke om en HPF eller LPF og deretter en subtractor. Hva er signalet du prøver å måle Hvis du digitalt demodulerer signalet ditt og deretter filtrerer det, er det ganske mulig at ditt digitale filter vil være tilstrekkelig til å fjerne DC. Hvorvidt dette ville være tilstrekkelig, avhenger av hvor mye DC kommer inn i systemet ditt, det vil si at hvis du har en stor DC-spike, må filterstoppebåndets avvisning kanskje være svært høy for å fjerne det. Du kan også bruke metodene Kaz antyder i tråden han refererer til, eller en kombinasjon av DC-fjerningsfilter, etterfulgt av digital demodulering og ytterligere filtrering. Men hvis jeg har rett, må jeg simulere denne modellen ved å bruke matlab for å finne ut det grunnleggende om hvordan man beveger gjennomsnittsfilter. Simulering ved hjelp av MATLAB er en god tilnærming. Lysbildene har et eksempel på et bevegelig gjennomsnittlig filter og et FIR-filter. Hovedforskjellen mellom et bevegelig gjennomsnittlig filter og et FIR-filter er (potensielt) en skaleringsfaktor. For eksempel er et 4-punkts glidende gjennomsnittlig filter bare gjennomsnittet av 4 prøver mens et 4-koeffisient FIR filter er If hn 14, så er de to de samme. Imidlertid er det egentlig ikke nødvendig å ha 14 for hver koeffisient, da de alle kan være 1, og sluttbeløpet kan forskyves med 2-bits for å utføre divisjonen med 4. Dette gir deg i hovedsak tilbake til det bevegelige gjennomsnittet ligningen. Et glidende gjennomsnittsfilter er et ganske enkelt filter. Det kan ikke være hensiktsmessig for din søknad, men det vil hjelpe deg å forstå filtre, så fortsett og simuler det i både MATLAB og Modelsim.
No comments:
Post a Comment