FFS / hang (zonder init waarde) hebben een constante waarde van 0

N

Nikolai

Guest
Im ik krijg bovenstaande waarschuwing in mijn ontwerp en de productie wordt voortdurend 0;

Het volgende is mijn code voor een 'rotator' van DCT Signaalverloop grafiek voorgesteld door Loeffler.(Q7 gegevensformaat)

library IEEE;
gebruik IEEE.STD_LOGIC_1164.ALL;
gebruik IEEE.STD_LOGIC_ARITH.ALL;
gebruik IEEE.STD_LOGIC_SIGNED.ALL;

---- Uncomment de volgende bibliotheek verklaring indien instantiëren
---- Een Xilinx primitieven in deze code.
- bibliotheek UNISIM;
- gebruik UNISIM.VComponents.all;

entiteit Quad_multiplier_A1 is
Port (IN1: in STD_LOGIC_VECTOR (7 downto 0);
IN2: in STD_LOGIC_VECTOR (7 downto 0);
OUT1:
Out STD_LOGIC_VECTOR (7 downto 0);
OUT2: uit STD_LOGIC_VECTOR (7 downto 0);
OE: in STD_LOGIC);
einde Quad_multiplier_A1;

Behavioral architectuur van Quad_multiplier_A1 is

Signaal Cn: std_logic_vector (7 downto 0): = "01111101"; - 0,980
Signaal SN: std_logic_vector (7 downto 0): = "00011001"; - 0,195

Signaal Mul_result_1: std_logic_vector (15 downto 0);
Signaal Mul_result_2: std_logic_vector (15 downto 0);
Signaal Mul_result_3: std_logic_vector (15 downto 0);
Signaal Mul_result_4: std_logic_vector (15 downto 0);
Signaal Add_result_1: std_logic_vector (7 downto 0);
Signaal Add_result_2: std_logic_vector (7 downto 0);

Signaal Temp1: std_logic_vector (15 downto 0); - op te slaan voordat links verschuiven eenmaal
Signaal Temp2: std_logic_vector (15 downto 0); -,,
Signaal Temp3: std_logic_vector (15 downto 0); -,,
Signaal Temp4: std_logic_vector (15 downto 0); -,,Signaal Temp5: std_logic_vector (7 downto 0); - op te slaan voordat rechts verschuiven eenmaal
Signaal Temp6: std_logic_vector (7 downto 0); -,,

beginnen

Temp1 <= IN1 * Cn;
Temp2 <= IN2 * Sn;
Temp3 <= IN1 * Sn;
Temp4 <= IN2 * Cn;

Mul_result_1 <= Temp1 (14 downto 0) &'0 ';
Mul_result_2 <= Temp2 (14 downto 0) &'0 ';
Mul_result_3 <= Temp3 (14 downto 0) & "0"; - links verschuiven vermenigvuldiging resultaat
Mul_result_4 <= Temp4 (14 downto 0) &'0 ';

Temp5 <= Mul_result_1 (15 downto

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Koel" border="0" />

Mul_result_2 (15 downto

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Koel" border="0" />

- Toevoeging van MSB
Temp6 <= Mul_result_4 (15 downto

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Koel" border="0" />

- Mul_result_3 (15 downto

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Koel" border="0" />

; - Ontdoen LSB

Add_result_1 <='0 '& Temp5 (7 downto 1);
Add_result_2 <='0 '& Temp6 (7 downto 1);OUT1 <= Add_result_1 wanneer (OE'event en OE ='1 ');
OUT2 <= Add_result_2 wanneer (OE'event en OE ='1 ');

einde Behavioral;

Nu
is hier het syntheserapport

Release 9.1i - xst J.30
Copyright (c) 1995-2007 Xilinx,
Inc Alle rechten voorbehouden.
-> Parameter tmpdir ingesteld. / Xst / projnav.tmp
CPU: 0,00 / 1,44 s | Verstreken: 0,00 / 2,00 s

-> Parameter xsthdpdir ingesteld. / Xst
CPU: 0,00 / 1,45 s | Verstreken: 0,00 / 2,00 s

-> Het lezen van het ontwerp: Quad_multiplier_A1.prj

INHOUDSOPGAVE
1) Synthese Opties Samenvatting
2) HDL Compilatie
3) Ontwerp Hiërarchie Analyse
4) HDL Analyse
5) HDL Synthese
5,1) HDL Syntheseverslag
6) Advanced HDL Synthese
6.1) Advanced HDL Syntheseverslag
7) laag niveau Synthese<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Koel" border="0" />

Partitie Verslag
9) Eindverslag
9.1) Apparaat utilization samenvatting
9.2) Partitie Resource Samenvatting
9.3) TIJDSCHEMA VERSLAG================================================== =======================
* Synthese Opties Samenvatting *
================================================== =======================
---- Bron Parameters
Input File Naam: "Quad_multiplier_A1.prj"
Input Formaat: gemengd
Negeer Synthese Constraint Dossier: NEE

---- Doelsector Parameters
Output File Name: "Quad_multiplier_A1"
Output Formaat: NGC
Target Device: xc2s200-5-pq208

---- Bron Opties
Top Module Naam: Quad_multiplier_A1
Automatische FSM Extractie: JA
FSM Encoding Algorithm: Auto
Veilige uitvoering: Nee
FSM Stijl: Lut
RAM Extractie: Ja
RAM Stijl: Auto
ROM Extractie: Ja
Mux Stijl: Auto
Decoder Extractie: JA
Prioriteit Encoder Extractie: JA
Shift Register Extractie: JA
Logisch Shifter Extractie: JA
XOR Verborgen: JA
ROM Stijl: Auto
Mux Extractie: JA
Resource Sharing: JA
Asynchrone naar synchrone: GEEN
Multiplicatoreffect Stijl: Lut
Automatische Registreer Balancing: Nee

---- Doelsector Opties
Toevoegen IO Buffers: JA
Global Maximale Fanout: 100
Toevoegen Generic Klok Buffer (BUFG): 4
Registreer Duplication: JA
Slice Verpakkingsgroep: JA
Optimaliseer geïnstantieert Primitieven: GEEN
Omzetten Tristates Om Logic: Ja
Gebruik Klok inschakelen: Ja
Gebruik Synchronous Stel: Ja
Gebruik Synchronous Reset: Ja
Pack IO registers in IOBs: auto
Gelijkwaardig register Removal: JA

---- Algemene opties
Optimalisatie Doel: Snelheid
Optimalisatie Inspanning: 1
Bibliotheek Zoeken Bestellen: Quad_multiplier_A1.lso
Houd Hiërarchie: GEEN
RTL Output: Ja
Global Optimization: AllClockNets
Lees Wikkelkokers: JA
Schrijf Timing Constraints: GEEN
Cross Klok Analyse: NEE
Hiërarchie Scheidingsteken: /
Bus Scheidingsteken: <>
Zaak specificeerder: handhaven
Slice Gebruik Ratio: 100
BRAM Gebruik Ratio: 100
Verilog 2001: JA
Auto BRAM Verpakkingsgroep: GEEN
Slice Gebruik Ratio Delta: 5

================================================== ========================================================================= =======================
* HDL Compilatie *
================================================== =======================
Compileren VHDL bestand "C: / MyProjects/VHDL/Daedalus/Quad_multiplier_A1/Quad_multiplier_A1.vhd" in Bibliotheek werk.
Entiteit <quad_multiplier_a1> samengesteld.
Entiteit <quad_multiplier_a1> (Architectuur <behavioral>) samengesteld.

================================================== =======================
* Design Hiërarchie Analyse *
================================================== =======================
Het analyseren van de hiërarchie voor de entiteit <Quad_multiplier_A1> in bibliotheek <work> (architectuur <behavioral>).================================================== =======================
* HDL Analyse *
================================================== =======================
Het analyseren van Entiteit <Quad_multiplier_A1> in de bibliotheek <work> (Architectuur <behavioral>).
Entiteit <Quad_multiplier_A1> geanalyseerd.Eenheid <Quad_multiplier_A1> gegenereerd.================================================== =======================
* HDL Synthese *
================================================== =======================

Presterende bidirectionele poort resolutie ...

Synthesizing Eenheid <Quad_multiplier_A1>.
Betrokken bron bestand "C: / MyProjects/VHDL/Daedalus/Quad_multiplier_A1/Quad_multiplier_A1.vhd".
WAARSCHUWING: Xst: 646 - Signaal <Temp1 <15>> krijgt, maar nooit gebruikt.
WAARSCHUWING: Xst: 646 - Signaal <Temp2 <15>> krijgt, maar nooit gebruikt.
WAARSCHUWING: Xst: 646 - Signaal <Temp3 <15>> krijgt, maar nooit gebruikt.
WAARSCHUWING: Xst: 646 - Signaal <Temp4 <15>> krijgt, maar nooit gebruikt.
WAARSCHUWING: Xst: 646 - Signaal <Temp5 <0>> krijgt, maar nooit gebruikt.
WAARSCHUWING: Xst: 646 - Signaal <Temp6 <0>> krijgt, maar nooit gebruikt.
WAARSCHUWING: Xst: 653 - Signaal <Cn> wordt gebruikt, maar nooit toegewezen.Gekoppeld aan de waarde 01111101.
WAARSCHUWING: Xst: 646 - Signaal <Mul_result_1 <7:0>> krijgt, maar nooit gebruikt.
WAARSCHUWING: Xst: 646 - Signaal <Mul_result_2 <7:0>> krijgt, maar nooit gebruikt.
WAARSCHUWING: Xst: 646 - Signaal <Mul_result_3 <7:0>> krijgt, maar nooit gebruikt.
WAARSCHUWING: Xst: 646 - Signaal <Mul_result_4 <7:0>> krijgt, maar nooit gebruikt.
WAARSCHUWING: Xst: 653 - Signaal <Sn> wordt gebruikt, maar nooit toegewezen.Gekoppeld aan de waarde 00011001.
WAARSCHUWING: Xst - Eigendom "use_dsp48" is niet van toepassing voor deze technologie.
WAARSCHUWING: Xst - Eigendom "use_dsp48" is niet van toepassing voor deze technologie.
Gevonden 8-bits register voor signaal <OUT1>.
Gevonden 8-bits register voor signaal <OUT2>.
Gevonden 8x8-bits vermenigvuldigingsfactor voor signaal <Temp1>.
Gevonden 8x8-bits vermenigvuldigingsfactor voor signaal <Temp2>.
Gevonden 8x8-bits vermenigvuldigingsfactor voor signaal <Temp3>.
Gevonden 8x8-bits vermenigvuldigingsfactor voor signaal <Temp4>.
Gevonden 8-bit adder voor signaal <Temp5>.
Gevonden 8-bit subtractor voor signaal <Temp6>.
Samenvatting:
afgeleid 16 D-type flip-flop (s).
afgeleid 2 Adder / Subtractor (s).
afgeleid 4 Multiplicatoreffect (s).
Eenheid <Quad_multiplier_A1> gesynthetiseerd.================================================== =======================
HDL Syntheseverslag

Macro Statistieken
# Multipliers: 4
8x8-bits multiplicatoreffecten: 4
# Toevoegingen / Subtractors: 2
8-bit toevoegingen: 1
8-bit subtractor: 1
# Registers: 2
8-bit register: 2

================================================== =======================

================================================== =======================
* Uitgebreid HDL Synthese *
================================================== =======================

Laden apparaat voor de toepassing Rf_Device from file 'v200.nph' in milieu C: \ Xilinx91i.
WAARSCHUWING: Xst: 2404 - FFS / hang <OUT1 <7:7>> (zonder init waarde) hebben van een constante waarde van 0 in blok <Quad_multiplier_A1>.
WAARSCHUWING: Xst: 2404 - FFS / hang <OUT2 <7:7>> (zonder init waarde) hebben van een constante waarde van 0 in blok <Quad_multiplier_A1>.

================================================== =======================
Advanced HDL Syntheseverslag

Macro Statistieken
# Multipliers: 4
8x8-bits multiplicatoreffecten: 4
# Toevoegingen / Subtractors: 2
8-bit toevoegingen: 1
8-bit subtractor: 1
# Registers: 14
Flip-Flops: 14

================================================== =======================

================================================== =======================
* Laag Level Synthesis *
================================================== =======================

Optimaliseer eenheid <Quad_multiplier_A1> ...

Mapping alle vergelijkingen ...
Bouwen en optimaliseren definitief netlist ...
Gevonden gebied beperking ratio van 100 ( 5) over blok Quad_multiplier_A1 werkelijke verhouding is 4.

Definitieve Macro Processing ...

================================================== =======================
Definitieve Registreer Verslag

Macro Statistieken
# Registers: 14Flip-Flops : 14 ================================================== =======================

================================================== =======================
* Partition Verslag *
================================================== =======================

Partitie Uitvoering Status
-------------------------------

Nr. Scheidingsvlakken werden gevonden in dit ontwerp.

-------------------------------

================================================== =======================
* Eindverslag *
================================================== =======================
Eindresultaten
RTL Top Level Output Bestandsnaam: Quad_multiplier_A1.ngr
Top Level Output Bestandsnaam: Quad_multiplier_A1
Output Formaat: NGC
Optimalisatie Doel: Snelheid
Houd Hiërarchie: GEEN

Design Statistieken
# VI's: 33

Cel Gebruik:
# BELS: 502
# GND: 1
# INV: 32
# LUT1: 30
# LUT2: 114
# MUXCY: 174
# VCC: 1
# XORCY: 150
# FlipFlops / hang: 14
# FD: 14
# Klok Buffers: 1
# BUFGP: 1
# IO Buffers: 32
# IBUF: 16
# OBUF: 16
================================================== =======================

Apparaat gebruik samenvatting:
---------------------------

Geselecteerde apparaat: 2s200pq208-5

Aantal Schijfjes: 102 van 2352 4%
Aantal van 4 input Luts: 176 van 4704 3%
Aantal informatieverplichtingen: 33
Aantal gebonden IOBs: 33 van de 140 23%
IOB Flip Flops: 14
Aantal GCLKs: 1 van de 4 25%

---------------------------
Partitie Resource Samenvatting:
---------------------------

Nr. Scheidingsvlakken werden gevonden in dit ontwerp.

---------------------------================================================== =======================
TIJDSCHEMA VERSLAG

OPMERKING: DEZE TIJDSCHEMA NUMMERS slechts een SYNTHESE RAMING.
TIJDSCHEMA VOOR ACCURATE INFORMATIE Raadpleeg de SPOORELEMENT VERSLAG
GEGENEREERD PLAATS NA-en-route.

Klok informatie:
------------------
----------------------------------- -------------- ---------- -------
Klok Signaal | Klok buffer (FF naam) | Plaats |
----------------------------------- -------------- ---------- -------
OE | BUFGP | 14 |
----------------------------------- -------------- ---------- -------

Asynchrone Control Signalen informatie:
----------------------------------------
Geen controle asynchrone signalen vinden in dit ontwerp

Timing Samenvatting:
---------------
Snelheid Graad: -5

Minimale periode: Geen pad gevonden
Minimale input aankomst tijd voordat klok: 17.208ns
Maximale output vereiste tijd na klok: 7.999ns
Maximale combinatievormen pad vertraging: Geen pad gevonden

Timing Detail:
--------------
Alle waarden weergegeven in nanoseconden (ns)

================================================== =======================
Timing beperking: Standaard OFFSET voordat voor Klok "OE"
Totaal aantal paden / bestemming havens: 97002 / 14
-------------------------------------------------- -----------------------
Offset: 17.208ns (Niveaus van Logic = 17)
Bron: IN1 <7> (PAD)
Bestemming: OUT1_6 (FF)
Bestemming Klok: OE stijgende

Data Path: IN1 <7> om OUT1_6
Gate Netto
Cell: in-> out fanout Delay Vertraging Logische Naam (Netto Naam)
---------- ---------------------------------------- --
IBUF: I-> O 5 0,924 1,740 IN1_7_IBUF (IN1_7_IBUF)
INV: I-> O 2
0,653 1,340 IN1 <7> _inv1_INV_0 (IN1 <7> _inv)
LUT2: I1-> O 1
0,653 0,000 Mmult_Temp1_Madd_lut <4> (N32)
MUXCY: S-> O 1 0,784 0,000 Mmult_Temp1_Madd_cy <4> (Mmult_Temp1_Madd_cy <4>)
MUXCY: CI-> O 1 0,050 0,000 Mmult_Temp1_Madd_cy <5> (Mmult_Temp1_Madd_cy <5>)
MUXCY: CI-> O 1 0,050 0,000 Mmult_Temp1_Madd_cy <6> (Mmult_Temp1_Madd_cy <6>)
XORCY: CI-> O 4 0,500 1,600 Mmult_Temp1_Madd_xor <7> (Mmult_Temp1_Madd_10)
LUT2: I1-> O 1
0,653 0,000 Mmult_Temp1_Madd4_lut <10> (N84)
MUXCY: S-> O 1 0,784 0,000 Mmult_Temp1_Madd4_cy <10> (Mmult_Temp1_Madd4_cy <10>)
MUXCY: CI-> O 1 0,050 0,000 Mmult_Temp1_Madd4_cy <11> (Mmult_Temp1_Madd4_cy <11>)
XORCY: CI-> O 1 0,500 1,150 Mmult_Temp1_Madd4_xor <12> (Mmult_Temp1_Madd_124)
LUT2: I1-> O 1
0,653 0,000 Mmult_Temp1_Madd5_lut <12> (N128)
MUXCY: S-> O 1 0,784 0,000 Mmult_Temp1_Madd5_cy <12> (Mmult_Temp1_Madd5_cy <12>)
XORCY: CI-> O 1 0,500 1,150 Mmult_Temp1_Madd5_xor <13> (Temp1 <13>)
LUT2: I0-> O 1
0,653 0,000 Madd_Temp5_lut <6> (N149)
MUXCY: S-> O 0 0,784 0,000 Madd_Temp5_cy <6> (Madd_Temp5_cy <6>)
XORCY: CI-> O 1 0,500 0,000 Madd_Temp5_xor <7> (Temp5 <7>)
FD: D 0,753 OUT1_6
----------------------------------------
Totaal 17.208ns (10.228ns logica, 6.980ns route)
(59,4% logica, 40,6% route)

================================================== =======================
Timing beperking: Standaard OFFSET NA voor Klok "OE"
Totaal aantal paden / bestemming havens: 14 / 14
-------------------------------------------------- -----------------------
Offset: 7.999ns (Niveaus van Logic = 1)
Bron: OUT1_6 (FF)
Bestemming: OUT1 <6> (PAD)
Bron Klok: OE stijgende

Data Path: OUT1_6 te OUT1 <6>
Gate Netto
Cell: in-> out fanout Delay Vertraging Logische Naam (Netto Naam)
---------- ---------------------------------------- --
FD: C-> Q 1 1,292 1,150 OUT1_6 (OUT1_6)
OBUF: I-> O 5.557 OUT1_6_OBUF (OUT1 <6>)
----------------------------------------
Totaal 7.999ns (6.849ns logica, 1.150ns route)
(85,6% logica, 14,4% route)

================================================== =======================
CPU: 9,31 / 10,86 s | Verstreken: 9,00 / 11,00 s

->

Totaal geheugengebruik is
129.724 kilobytes

Aantal fouten: 0 (0 gefilterd)
Aantal waarschuwingen: 16 (0 gefilterd)
Aantal info: 0 (0 gefilterd)Now i dont begrijp de waarschuwing in de Advanced HDL synthese.N dus zelfs mijn output is verkeerd.

Any ideas?

 
Van kijken naar uw code niet kijken alsof je een verschuiving naar links correct.Uw codes plaatsen een nul aan de rechterkant.Dit betekent dat u altijd een 0 op de rechterkant als je dat niet kunnen.

Hand werk je code op papier om ervoor te zorgen dat dingen zijn zoals ze moeten zijn en niet vergeten, net omdat het werken op papier, betekent niet dat het zal goed synthetiseren.

E

 
Hallo,

Ik verontschuldig me niet te kunnen analyseren uw code in detail, maar ik zie twee problemen
1.de voorwaardelijke opdracht met een evenement voorwaarde (= rising_edge ()) is niet gedefinieerd VHDL construeren naar mijn mening,
met name het niet instatiate een flip-flop of vergrendeling.Ik
ben zelfs niet zeker, als het resultaat met verschillende compilers kunnen worden voorspeld.Als een klok synchrone flip-flop is bestemd, een proces dat moet worden gebruikt.Het signaal OE naam suggereert een Tristate output, maar dit moet een andere constructie:

Code:

OUT1 <= Add_result_1 wanneer OE ='1 '

anders' Z ';
 
Ok, hier
is een enigszins gedetailleerde uiteenzetting van mijn code.

@ Nxtech

Twee 8-bit Q7 aantal vermenigvuldiging resulteert in 16-bits V15 nummer.Nu im het wegwerken van de verlengde teken beetje eerst door links verschuiven keer.

Dan im toevoeging van de MSB (15 tot

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Koel" border="0" />

van de resulterende getallen.En tot slot im scaling het resultaat door 2 (rechts verschuiven keer) om ervoor te zorgen dat overflow
doesnt optreden na toevoeging.

So i dont zie geen probleem in het verschuiven.

@ FVM

de bijgevoegde tekening zal waarschijnlijk krijg je een beter idee van mijn bedoelingen.

De Naamplaten / FF is opzettelijk.

Im gebruik van Xilinx ISE 9.1.

OUT1 <= Add_result_1 wanneer (OE'event en OE ='1 '); - wordt gesynthetiseerd als FF.

terwijl

OUT1 <= Add_result_1 wanneer OE ='1 '; - gesynthetiseerd als Naamplaten.

Nu de waarschuwing lijkt zelfs wanneer deze wordt gesynthetiseerd als een klinkinrichting, maar de code werkt zoals verwacht.Het probleem komt pas wanneer het wordt gesynthetiseerd als FF.

Ik wil een Naamplaten / FF daar omdat ik wil dat de O / P stabiel zullen blijven voor de volgende fase, terwijl de rotator voert over volgende set ingangen.Zo kan ik niet meer de
"Anders" Z "-clausule in de WANNEER verklaring.

 
Hallo,

niet hoeft aan te voeren ten aanzien van de juiste schaal van het vermenigvuldigen.Zij moeten een resultaat toch, en je ziet het resultaat.Mag ik missunderstood de bedoeling en het
is gecodeerd zoals de bedoeling is, zo niet,
dan kunt u het later.

Ik heb duidelijk het doel van het bedrijf de productie.Maar het is niet gecodeerd op deze manier.U kunt elke VHDL tekstboek, hoe een FF zou kunnen worden gecodeerd te worden begrepen door een instrument.

De manier waarop je schrijft de code, het is in feite een verborgen sequentiële verklaring.Dit lijkt te werken met een ansynchronous klinkinrichting, maar niet met synchrone FF.

De gebruikelijke syntaxis, dat zou moeten werken met een instrument is
Code:

proces (OE)

beginnen

- Een snelkoppeling voor OE'event en OE ='1 '

indien rising_edge (OE), dan

beginnen

OUT1 <= Add_result_1;

OUT2 <= Add_result_2;

einde;

einde proces;
 
@ FVM

Ik heb geprobeerd met behulp van de codes die u gepost in het vorige bericht.
Maar het probleem blijft bestaan.

Im het bevestigen van de RTL-schema.Wats vreemd is de output OUT2 is nergens te vinden.
Maar de technologie schematische is goed.

OE eigenlijk had moeten functioneren als een Output Enable.XST afgeleid als een klok signaal en krijgen zij een globale klok lijn.Zelfs ik heb geen intenties van het gebruik van het als een klok.
Sorry, maar je moet inloggen om dit onderdeel te bekijken koppelingseisen

 
Hallo,

om me te begrijpen van de oorsprong van de vreemde RTL kaart die je hebt gepost,
kun je sturen code waar werd gegenereerd uit als bijlage?Ik heb geen Xilinx tools geïnstalleerd, maar als de code juist is, moet compileren met ModelSim of qu (at) rtus geïntegreerde synthese ook.Zo niet, moet tenminste een waarschuwing.Maar uitgangen gekoppeld aan GND hebben doorgaans een simpele reden.

Wat de OE / klok vraag: Wanneer OE oplopende rand hang de uitgangen, OE is in feite een klok, ook een asynchrone klinkinrichting signaal zou worden beschouwd als een klok in de timing analyse en andere aspecten.Als het via mondiale klok middelen of lokaal heeft een aantal gevolgen voor de timing, maar maakt er geen fundamenteel verschil.Dit is kan worden besloten door de compiler.

Een fundamentele vraag is met betrekking tot de klok regeling in uw ontwerp.Meestal heb je een globale klok voor uw ontwerp of een ontwerp-partitie, die wordt gebruikt voor alle (of bijna alle) synchrone actie binnen.Zo ja, uw "OE" kon zijn identiek aan deze globale klok, het creëren van een pijpleiding van vermenigvuldigen blokken.Of kun je de output moet worden bijgewerkt voorwaardelijk.Dan, het blok moet CLK en OE als input.CLK zou de synchrone klok en OE een extra klok inschakelen.

Citaat:

proces (CLK)

beginnen

indien rising_edge (CLK) en OE ='1 ', dan

beginnen

OUT1 <= Add_result_1;

OUT2 <= Add_result_2;

einde;

einde proces;
 
Im het bevestigen van de code en zijn testbench.

Mijn model kan als volgt worden samengevat.Het bestaat uit 4 fasen, elk met toevoegingen, multiplicatoren, enz.De output van elke fase wordt gecontroleerd door een OE signaal.Dat wil zeggen dat elk onderdeel van de fase zal een OE gekoppeld.Nu is de OE-signaal wordt doorgegeven aan de verschillende fasen van een FSM (controle-eenheid).Dus de mondiale klok signaal zal worden gegeven alleen aan de FSM en de FSM zal op zijn beurt de nodige signalen OE ...

Hoop dat dit helpt ..
Sorry, maar je moet inloggen om dit onderdeel te bekijken koppelingseisen

 
Hallo,

I'll check de code.De testbench werken niet zo,
want OE is ingesteld op'1 'tegelijkertijd met de toepassing van de input.U moet de eerste vertraging.

Code:wachten voor 50 ns;

IN1 <= "01100000";

IN2 <= "00100000";

- De noodzaak om te wachten voordat OE stijgende rand!

Ø <='1 ';

wachten tot 10 ns;

Ø <='0 ';

wachten tot 100 ns;

- Plaats stimulans hier

wachten; - wacht voor eeuwig
 
Door hertog's neus!Het feitelijk heeft gewerkt.Ik heb alleen een vertraging voor de OE ='1 'en de output is prima.

Nu alleen de vreemde RTL moet worden uitgelegd.

 
Hallo,

het werken in mijn test.Ik voeg het resultaat voor uw testvector, ik alleen maar een reset stimulans en vertraagde de OE als besproken.Niet kon nauwelijks voorstellen dat Xilinx ziet iets anders.

Echter, de compiler zegt, dat OUTx [7] zijn geplakt met GND.Dat
is een gevolg van de toegepaste schaalvergroting, denk ik, je moet weten beter.Ook zijn de constanten kan worden geschreven als zodanig CONSTANTE Sn plaats van SIGNAL Sn, de compiler geeft een waarschuwing over het signaal met behulp van alleen standaard waarde, maar dat
is ok

U was meestal recht met betrekking tot het resultaat te vermenigvuldigen shift.Ik heb over de lijn met [15 downto 8] subrange selectie.Sorry voor de verwarring.

Ik
ben op bezoek vrienden binnenkort terug enkele uren later.

Groeten,
Frank
Sorry, maar je moet inloggen om dit onderdeel te bekijken koppelingseisen

 
Ja ik geen mededeling OUT1 <7:7> wat betekent het 7e bit is verbonden met GND wat is duidelijk voor de juiste shift.

Ook veranderde ik Sn en Cn tot constant.ITNODIGINGEN werkt prima nu.

Behalve voor de RTL.Waarschijnlijk zijn een ISE bug?Aangezien de technologie schematisch is al verwacht.

Neway, allen bedankt!

 

Welcome to EDABoard.com

Sponsor

Back
Top