abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:44 | Zajímavý článek

    Ondřej Filip publikoval reportáž z ceremonie podpisu kořenové zóny DNS. Zhlédnout lze také jeho nedávnou přednášku Jak se podepisuje kořenová zóna Internetu v rámci cyklu Fyzikální čtvrtky FEL ČVUT.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | IT novinky

    Společnost BenQ uvádí na trh novou řadu monitorů RD určenou pro programátory. První z nich je RD240Q.

    Ladislav Hagara | Komentářů: 4
    dnes 13:00 | IT novinky

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem nadále zůstává Frontier od HPE (Cray) s výkonem 1,206 exaFLOPS. Druhá Aurora má oproti loňsku přibližně dvojnásobný počet jader a dvojnásobný výkon: 1,012 exaFLOPS. Novým počítačem v první desítce je na 6. místě Alps. Novým českým počítačem v TOP500 je na 112. místě C24 ve Škoda Auto v Mladé Boleslavi. Ostravská Karolina, GPU

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 10:11 | Nová verze

    GHC (Glasgow Haskell Compiler, Wikipedie), tj. překladač funkcionálního programovacího jazyka Haskell (Wikipedie), byl vydán ve verzi 9.10.1. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 09:22 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.8 oznámil Linus Torvalds vydání Linuxu 6.9. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna. Později také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    11.5. 18:22 | Nová verze

    Byla vydána verze 0.2.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Společnost Cloudflare jej letos v únoru uvolnila pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 0
    10.5. 19:11 | Nová verze

    Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 15
    10.5. 04:11 | Nová verze

    Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    9.5. 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 22
    9.5. 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 61
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (70%)
     (7%)
     (11%)
     (12%)
    Celkem 206 hlasů
     Komentářů: 14, poslední dnes 15:03
    Rozcestník

    Jak se píše procesor - II

    26. 7. 2005 | Luděk Crha | Programování | 10431×

    Minule jsme si řekli něco o hradlech a základní struktuře VHDL kódu. Dnes si ukážeme další příkaz VHDL, navrhneme první složitější obvod a vysvětlíme, co je simulace a syntéza.

    Syntaxi příkazu when si ukážeme na následujícím příkladu:

    O <= I1 when A = '0' else I2;

    Tento zápis znamená: do signálu O přiřaď signál I1, pokud je hodnota signálu A '0', jinak do signálu O přiřaď signál I2. Důležité je uvědomit si, že tímto příkazem neříkáme, co chceme vytvořit, ale jak se má výsledný obvod chovat. Z tohoto zápisu dostaneme zřejmě multiplexor, obvod, který funguje jako přepínač. Tento konkrétní multiplexor přepíná vstupy I1 nebo I2 na výstup O podle jednobitové adresy A.

    mux

    Nyní můžeme pomalu začít skládat náš procesor. Uvažujme osmibitovou architekturu, šířka datových sběrnic tedy bude osm bitů. Pracovat s jednotlivými vodiči (signál std_logic) by bylo zdlouhavé, využijeme proto typ signálu std_logic_vector, který vzniká složením jednotlivých signálů std_logic. Při deklaraci signálu std_logic_vector určujeme pořadí bitů - např. (7 downto 0) znamená osmibitový signál s nejméně významným bitem vpravo, s bity číslovanými od 0 do 7. Konstanty typu std_logic_vector se zapisují v uvozovkách (např. "1010").

    Jako první prvek vytvoříme ALU - aritmeticko-logickou jednotku. V procesoru zajišťuje realizaci aritmetických a logických funkcí.

    alu

    Do naší ALU vedou dva osmibitové datové vstupy I1 a I2, výsledek operace je přiveden na výstup O. Operaci (zvolme např. AND, OR, NOT, +) určujeme dvoubitovým signálem A (dva bity jsou dostatečné k adresování právě jedné ze čtyř operací).

    library IEEE;
    use IEEE.std_logic_1164.all;
    use ieee.std_logic_arith.all;                -- vlozeni potrebnych knih.
    use ieee.std_logic_unsigned.all;
    
    ENTITY ALU IS
    PORT (
       I1, I2: IN std_logic_vector(7 downto 0);  -- dva 8bitove datove vstupy
       A: in std_logic_vector(1 downto 0);       -- 2bitova adresa operace
       O: out std_logic_vector(7 downto 0)       -- jeden 8bitovy vystup
    );
    END ALU;      
    
    ARCHITECTURE behavioral OF ALU IS            -- tvorime obsah entity ALU
    BEGIN
    O <= I1 AND I2 when A = "00" else          -- na vystupu logicky soucin
         I1 OR I2 when A = "01" else             -- logicky soucet
         not I1 when A = "10" else               -- negace I1
         I1 + I2;                                -- scitani
    END behavioral;

    V deklaraci entity definujeme vstupy a výstupy ALU. Tělo architektury se skládá z jediného příkazu when, který určuje, jaká funkce se má objevit na výstupu při různých kombinacích bitů adresy. Fyzická realizace této funkce by odpovídala čtyřem obvodům realizujících dané funkce (AND, OR, NOT, +) a čtyřvstupového osmibitového multiplexoru, který vybírá výsledek jednoho z obvodů na výstup dle hodnoty signálu A.

    Co dál s VHDL kódem? V úvahu připadají dvě činnosti

    • simulace nebo
    • syntéza

    Simulace je ověření činnosti obvodu na počítači - program (simulátor) napodobuje činnost obvodu a v podobě časového průběhu signálů je možné sledovat funkci obvodu. Syntéza je převod VHDL kódu do formátu vhodného pro fyzickou realizaci obvodu.

    Nyní si řekněme něco více o simulaci. Odsimulovat kód si můžete zkusit sami na domácím počítači, např. pomocí volně šiřitelného software ModelSim XE Starter, který si můžete stáhnout ze stránek firmy Xilinx. Program vyžaduje jednorázovou registraci. Po stáhnutí a nainstalování je ještě třeba požádat o registrační klíč přes internetový formulář.

    Po spuštění programu je nejdříve potřeba vytvořit nový projekt (File -> New -> Project). Poté si buď vytvoříte nový soubor pro zápis VHDL kódu (např. pravé tlačítko myši v prostoru Workspace -> Add to Project -> New File), nebo přidáte do projektu již existující soubor (pravé tlačítko -> Add to Project -> Existing File). V našem případě bude soubor obsahovat kód ALU uvedený výše.

    Příkazem Compile -> Compile All zkompilujete zdrojové soubory do knihovny work. Nyní je možné spustit režim simulace pomocí Simulate -> Simulate. Vybereme entitu ALU z knihovny Work (je třeba rozvinout záložku work).

    sim

    V hlavním okně ModelSimu se nyní objevila nová záložka sim, pomocí které můžeme nastavovat entitu, se kterou chceme pracovat (v našem případě je to pouze ALU). Z menu View nyní můžeme vyvolávat okna potřebná pro simulaci, nejdůležitější jsou okna Signals a Wave. Wave zobrazí časový průběh signálů (prozatím je prázdné). V okně Signals vidíme všechny signály použité v entitě (včetně portů), které můžeme přidat do okna Wave (Add -> Wave -> Signals in Region).

    Jsme sice v režimu simulace, ale zatím jsme nic neodsimulovali. Simulaci musíme nechat běžet po určitou dobu - to můžeme udělat např. v hlavním okně ModelSimu v příkazovém řádku pomocí příkazu run s parametrem času, po který má simulace běžet. Pokud chceme např. simulovat obvod po dobu 100 nanosekund, zadáme příkaz run 100 ns.

    Pokud jste celý postup provedli na příkladu naší ALU, objevily se vám v okně Wave na časové ose červené čáry.

    wave_1

    Tím nám simulátor říká, že hodnoty signálů nejsou definované. Musíme proto na vstupy obvodu nastavit úrovně signálů - v okně Signals vybereme signál, do kterého chceme vnutit hodnotu a v Edit -> Force -> Value zadáme binárně hodnotu. Pokud např. zadáme hodnoty I1 10101010, I2 00001111, A 00 (funkce logického součinu) a znovu spustíme simulaci (run 100 ns), na výstupu O se nám objeví hodnota 00001010 (logický součin vstupů I1 a I2). Pokud je vidět pouze konec simulace, je dobré zobrazit celý průběh v okně Wave - View -> Zoom -> Zoom Full.

    wave_2

    Nyní si můžete hrát s různým nastavováním signálů a testování funkce ALU. Postup přímého zadávání hodnot signálů je velmi zdlouhavý, v praxi se používá spíše metoda nadřazené entity zvané testbench , o kterém budeme hovořit v některém z dalších dílů.

    Obvod máme odsimulovaný, dalším krokem v průběhu návrhu je syntéza. Pro syntézu již potřebujete další hardware, běžně se používají programovatelná hradlová pole CPLD nebo FPGA. Dostupné jsou i hotové kity, které řeší napájení programovatelného obvodu a jeho připojení k PC a periferiím. Pokud zvolíte obvod CPLD nebo FPGA firmy Xilinx, můžete si k nim zdarma stáhnout nástroj pro syntézu ISE WebPack. S tímto vybavením si můžete sami obvod nahrát a používat.

    Důležité při psaní VHDL kódu je uvědomit si, co vlastně děláme. Nepíšeme program, ale určujeme funkci obvodu. Z toho také vyplývá použití programovatelných polí - hodí se pro paralelní nebo časově kritické aplikace, pro implementaci složitých algoritmů je naopak lepší využít procesor.

    Nejčtenější články posledního měsíce

    Jarní výprodej s až 91% slevou: originální a permanentně aktivovaný OS Windows 10 jen za €14, Office za €24!
    Týden na ITBiz: Vysokoteplotní supravodivá dioda
    Týden na ScienceMag.cz: Model Lambda CDM celkem sedí, ale kosmologická konstanta se může měnit

    Nejkomentovanější články posledního měsíce

    Týden na ScienceMag.cz: Kosmologové se opět zkouší vypořádat se s problémem Hubbleovy konstanty
    Týden na ITBiz: Platby výkupného za ransomware vzrostly za poslední rok na pětinásobek
    Týden na ScienceMag.cz: Upřesnili limity pro klidovou hmotnost neutrin
      všechny statistiky »

    Seriál Jak se píše procesor (dílů: 5)

    Jak se píše procesor (první díl)
    <—« Jak se píše procesor
    »—> Jak se píše procesor - 3 (Procesy)
    Jak se píše procesor - 5 (Příklad) (poslední díl)

    Související články

    Jak se píše procesor
    Jak se píše procesor - 3 (Procesy)
    Jak se píše procesor - 4 (Registry)
    Jak se píše procesor - 5 (Příklad)
    Jednočipy pod Linuxem
    Jednočip ATtiny2313 pod Linuxem
    Sériová komunikace pod Linuxem
    Monitorování stavu PC - lm_sensors
    LINUX pro Embedded PC moduly
    Přetaktování - Jak zvýšit výkon počítače
    Zpomalte si procesor

    Odkazy a zdroje

    ModelSim Xilinx Edition-III
    VHDL Tutorial: Learn by Example

    Další články z této rubriky

    LLVM a Clang – více než dobrá náhrada za GCC
    Ze 4 s na 0,9 s – programovací jazyk Vala v praxi
    Reverzujeme ovladače pro USB HID zařízení
    Linux: systémové volání splice()
    Programování v jazyce Vala - základní prvky jazyka
           

    Hodnocení: 87 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Marián Kyral avatar 26.7.2005 07:16 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Chybka
    Tento zápis znamená: do signálu O přiřaď signál I1, pokud je hodnota signálu A '0', jinak do signálu A přiřaď signál I2.

    Jediný výstupní signál je O, takže by mělo být: "jinak do signálu O přiřaď signál I2."
    26.7.2005 08:04 Luděk Crha | skóre: 17
    Rozbalit Rozbalit vše Re: Chybka
    Diky za upozorneni, uz se pracuje na oprave.
    26.7.2005 09:23 Daniel Smolik | skóre: 15 | blog: marvin
    Rozbalit Rozbalit vše Dobre, ale jak si ty softy pustim pod linuxem ?
    Zdravim, zjimavy clanek, ale nekde na konci by neskodil navod nebo info o tom zda a jak se podarilo rozchodit tyto softy pod Wine. Sam jsem to zkousel a docela se zadarilo. Ale jeste jsem nenasel nejakou vec co bych v tom zkusil.
    26.7.2005 11:07 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
    Rozbalit Rozbalit vše Re: Dobre, ale jak si ty softy pustim pod linuxem ?
    Wine pro simulaci není třeba, existuje VHDL Simili (komerční, ale zdarma), FreeHDL (už dlouho jsem nezkoušel) a ještě jsem někde viděl další program, ale nevzpomenu si na jméno…
    Užívej dne – možná je tvůj poslední.
    26.7.2005 11:47 megi | skóre: 11 | blog:
    Rozbalit Rozbalit vše Re: Dobre, ale jak si ty softy pustim pod linuxem ?
    ghdl.free.fr
    26.7.2005 11:04 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše šotek
    s/sinals/signals/
    26.7.2005 11:29 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: šotek
    Díky.
    26.7.2005 17:42 petr_p
    Rozbalit Rozbalit vše Vypocetni algortimus
    Moje znalosti numerickych metod jsou praktricky nulove, proto bych se rad zeptal, jakym algoritmem je simulovan logicky obvod?

    V realnem svete ma kazdy prvek urcite spozdeni, takze se signal "siri" do obvodu postupne.

    Jak probiha takova simulace rekurzivniho obvodu, kde vystup je zapojen na jeden ze vstupu?
    26.7.2005 20:02 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Vypocetni algortimus
    Simulace probíhá po malých časových intervalech, takže rekurzivní obvod není problém, prostě je na počátku vstup i výstup nule, za nějaký časový interval už je na vstupu signál, ale na výstupu se ještě neobjevil, za další čas už tam nějaký signál je, ale ještě se nepromítne do vstupu, ... a po určitém počtu iterací máme výsledek.
    When your hammer is C++, everything begins to look like a thumb.
    27.7.2005 10:49 Luděk Crha | skóre: 17
    Rozbalit Rozbalit vše Re: Vypocetni algortimus
    V praxi se pouzivaji dva druhy simulaci - funkcni a casova. U funkcni simulace se predpoklada zpozdeni logickych clenu nulove, simulator reaguje pouze pri zmene signalu v tzv. sensitivity listu procesu (bude v pristim dilu). Tato simulace je oproti casove simulaci velmi rychla. Casova simulace uvazuje zpozdeni clenu realneho obvodu. Je podstatne pomalejsi nez funkcni simulace. V clanku budeme uvazovat pouze funkcni simulaci, pro jednoduchost. Co se tyce zpetne vazby - u casove simulace bylo zodpovezeno v prispevku prede mnou, u funkcni myslim zalezi na simulatoru, napr. ModelSim bude zpetnou vazbu ignorovat. Moc o tom ale nema smysl uvazovat, ve spravne napsanem sekvencnim designu (o nem take budeme hovorit priste :-)) nemaji zpetne vazby v logice co delat - v kazde zpetne vazbe musi byt v ceste registr.
    27.7.2005 14:42 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Vypocetni algortimus
    x(k+1)=A.x(k)+B.y(k) kde x je stavovy vektor, A a B jsou matice a y je vstupni vektor. A tahle rovnice se resi mockrat od toho mame pocitace. Jak proste >:)
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    Dobry den, som zaciatocnik vo VHDL a mam skor taky mensi problem s Modelsimom. Napriklad ked som isiel simulovat jednoduchy obvod XOR, dal som simulovat a vsade mi kreslilo iba same ciary. to iste pri scitacke. neviem kde robim chybu, ktoru entitu mam dat simulovat, resp. co mam nastavit? skusil som uz vsetky mozne aj nemozne moznosti.

    -- deklarácia entity (entity declaration) entity Obvod_XOR is port (In1:in Bit; In2:in Bit; Out1:out Bit); end Obvod_XOR;

    -- telo architektúry (architecture body) architecture Spravanie_P of Obvod_XOR is begin Out1 <= In1 xor In2; end Spravanie_P;

    -- telo architektúry (architecture body) architecture Spravanie_Q of Obvod_XOR is signal Internal1, Internal2: Bit; begin Internal1 <= In1 and In2; Internal2 <= not(In1) and not(In2); Out1 <= not (Internal1 or Internal2); end Spravanie_Q;

    -- návrhová entita podsystému Stage_1 entity Stage_1 is port ( In1:in Bit; In2:in Bit; Out1:out Bit; Out2:out Bit ); end Stage_1; architecture Spravanie of Stage_1 is begin Out1 <= In1 and In2; Out2 <= not(In1) and not(In2); end Spravanie;

    -- návrhová entita podsystému Stage_2 entity Stage_2 is port ( In1:in Bit; In2:in Bit; Out1:out Bit ); end Stage_2; architecture Spravanie of Stage_2 is begin Out1 <= not (In1 or In2); end Spravanie;

    -- telo architektúry - struktura diskrétneho systému Q architecture Struktura_Q of Obvod_XOR is --deklarácia vnútorných signálov signal Internal1, Internal2: Bit; --lokálna deklarácia komponentov component Stage_1 port ( In1:in Bit; In2:in Bit; Out1:out Bit; Out2:out Bit ); end component; component Stage_2 port (In1:Bit; In2:Bit; Out1:out Bit); end component; begin --príkazy vytvorenia inštancií komponentov S1:Stage_1 port map ( In1=>In1, In2=>In2, Out1=>Internal1, Out2=>Internal2 ); S2:Stage_2 port map ( In2=>Internal1, In1=>Internal2, Out1=>Out1 ); end Struktura_Q;

    entity TESTBNCH is end TESTBNCH;

    architecture stimulus of TESTBNCH is component Obvod_XOR is port ( in1 : in BIT; -- in1 in2 : in BIT; -- in2 out1 : out BIT); end component; for DUT: Obvod_XOR use entity Work.Obvod_XOR(Spravanie_Q); --for DUT: Obvod_XOR use entity Work.Obvod_XOR(Spravanie_P); --for DUT: Obvod_XOR use entity Work.Obvod_XOR(Struktura_Q);

    signal in1, in2, out1: BIT :='0'; begin DUT: Obvod_XOR port map (in1, in2, out1); STIMULUS1: in1 <= '1' after 5 ns, '0' after 20 ns; STIMULUS2: in2 <= '1' after 15 ns, '0' after 30 ns; end stimulus;

    Dakujem.
    2.10.2005 03:40 Luděk Crha | skóre: 17
    Rozbalit Rozbalit vše Re: otazka
    Dobry den,

    zrejmou chybu v kodu nevidim, spis jsou zde veci ktere bych napsal jinak. Prikladam proto na konec komentare jednoduchy kod jak bych napsal XOR ja, spolu s TB. Zkousel jsem ho simulovat v ModelSimu a funguje.

    - misto typu bit bych pouzival std_logic_vector, vice to odpovida realnemu obvodu

    - v TB jsem pouzil pro testovaci vektory proces

    - musite dat simulovat vzdy TestBench

    - to co pripojuji by melo byt ve dvou souborech - napr. xor.vhd a tb.vhd. Oba soubory musi byt v projektu ModelSimu a zkompilovane (tzn. v knihovne work se musi objevit entity xor_ent a tb)

    - pokud by byly nejake problemy, muzete mi napsat rovnou na pizi(at)centrum.cz

    preji peknou nedeli

    library IEEE; use IEEE.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;

    ENTITY xor_ent IS PORT ( I1, I2: in std_logic; O: out std_logic ); END xor_ent;

    ARCHITECTURE structural OF xor_ent IS BEGIN O <= I1 xor I2; END structural;

    library IEEE; use IEEE.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;

    entity TB is end TB;

    architecture behavior of TB is

    component xor_ent PORT ( I1, I2: in std_logic; O: out std_logic ); END component; signal i1, i2, o: std_logic; begin

    xor_1: xor_ent port map (I1 => i1, I2 => i2, O => o);

    p_1: process is begin I1 <= '1'; I2 <= '1'; wait for 10 ns; I1 <= '0'; I2 <= '1'; wait for 10 ns; I1 <= '1'; I2 <= '0'; wait for 10 ns; I1 <= '0'; I2 <= '0'; wait for 10 ns; end process; end behavior;
    7.10.2005 19:57 ssil | skóre: 15
    Rozbalit Rozbalit vše Re: otazka
    Můžete se podělit o zkušenosti Model Simem? Já tady v diskusi řeším své problémy se simulací na Sarge a zatím se mi vůbec nedaří.
    8.10.2005 01:05 Luděk Crha | skóre: 17
    Rozbalit Rozbalit vše Re: otazka
    Bohuzel co se tyce free verzi pouzivam pouze ModelSim XE pod windows, nic jineho jsem zatim nepotreboval.
    10.10.2005 21:50 ssil | skóre: 15
    Rozbalit Rozbalit vše Re: otazka
    Tak jsem zkusil ModelSim pod win a narazil jsem na jeden problém. Když postupuji podle návodu, neprovede se mi kompilace. Když před kompilací projekt zavřu a pro kompilaci ho pak znovu otevřu, je vše v pořádku. Tušíte co asi dělám špatně?
    10.10.2005 23:50 Luděk Crha | skóre: 17
    Rozbalit Rozbalit vše Re: otazka
    Chtelo by to podrobnejsi popis. Hlavne vysvetlit co znamena "neprovede se kompilace". Takhle me napadaji tyhle veci:

    - pred kompilaci je treba soubory ulozit na disk

    - pokud mate spustenou simulaci a neco zmenite ve VHDL kodu, musite minimalne zkompilovat zmenene soubory a restartovat simulaci.
    11.10.2005 07:28 ssil | skóre: 15
    Rozbalit Rozbalit vše Re: otazka
    Před kompilací soubory na disk ukládám. V hlavním menu však vše co se týká kompilace zůstává neaktivní, ale pravé tlačítko v prostoru Workspace Compile -> Compile All aktivní je. Jeho spuštěním se však nic nestane (nedojde ke kompilaci do knihovny Work). Když ModelSim zavřu a znovu otevřu, mám již Compile v hlavním menu aktivní a dál je vše OK.
    12.10.2005 14:02 Luděk Crha | skóre: 17
    Rozbalit Rozbalit vše Re: otazka
    Tak tohle je zajimave, me to funguje normalne. Obcas se mi stane ze chvili trva nez se v knihovne work neco objevi, ale obvykle staci max. minutku pockat, trosku poklikat mysi a je to. Videl bych to nejspis jako problem nejake verze ModelSimu, ja pouzivam asi trosku starsi. Ale moc bych si s tim hlavu nedelal - jestli to spravne chapu, znamena to pouze jednou vystoupit a nastoupit pri vytvareni projetku.

    Pokud byste chtel patrat po pricine, asi bych se podival primo do adresare Work, jestli se tam objevuji adresare kompilovanych entit.

    Take je moznost se na graficke prostredi ModelSimu vykaslat, a pouzivat z prikazove radky prikazy vcom (zkompiluje dany soubor, obvykle pozivam parametry -93 -explicit), vmake >Makefile (pokud chcete, vytvori se Vam automaticky makefile pro zkompilovane soubory) a vdel (smaze entitu z knihovny work).
    13.10.2005 08:53 ssil | skóre: 15
    Rozbalit Rozbalit vše Re: otazka
    Tohle všechno si vyzkouším a když bude nejhůř, snesu trochu nepohodlí. V každém případě dík za radu. Mám však otázku i když odpověď nečekám. Pořád je velký skok od těchto základů k tomu co je ve věci VHDL na internetu nebo ve skriptech Doc.Ing.Koloucha. Nedal by se udělat nějaký meziskok v podobě návazného seriálu?
    14.10.2005 05:17 Luděk Crha | skóre: 17
    Rozbalit Rozbalit vše Re: otazka
    Pokud myslite to ovladani z prikazove radky, nerikal bych tomu nepohodli - naopak muzete napr. velmi jednoduse kompilovat primo z oblibeneho editoru.

    Co se tyce navazneho serialu, nejsem si moc jisty. Premyslim o tom, ale nevim jake bych zvolil tema, aby bylo zajimave pro vetsi okruh ctenaru. Napr. pokud by se melo jit vic do hloubky, uz by to chtelo i zadavat ukoly, ktere si kazdy zkusi napsat a odsimulovat. V kazdem pripade napady a nazory na toto tema jen uvitam.
    18.10.2005 21:22 ssil | skóre: 15
    Rozbalit Rozbalit vše Re: otazka
    Tím nepohodlím myslím zavřít-otevřít (nepodařilo se mi ten nedostatek odstranit). Nápad na další pokračování bych měl. Víc rozebrat syntézu. Šlo by to?
    31.10.2005 22:45 Luděk Crha | skóre: 17
    Rozbalit Rozbalit vše Re: otazka
    Synteza by bylo urcite pekne tema. Je jen otazka jak ho udelat zajimave pro sirsi okruh ctenaru. Navic ted zjistuji ze mam cim dal tim min casu, coz je patrne i z reakcni doby na prispevek :), takze bohuzel myslenku na pokracovani musim odlozit na neurcito.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.