nor.vhdl

library ieee;
use ieee.std_logic_1164.all;

entity nor3 is
  port (
    wej: in std_logic_vector(0 to 2);
    wyj: out std_logic
  );
end;


architecture logic of nor3 is
  begin
    wyj <= not (wej(0) or wej(1) or wej(2));
    -- ze wzgledu na to iz jej funkcjonalnosc opisuje sie w taki prosty sposob
    -- w praktycznych zastosowanuiach raczej nie ma sensu robienia z niej osobnego komponentu ...
end;


architecture proces_while of nor3 is
  begin
    process
      variable i: integer range -1 to 3;
      variable x: std_logic;
      begin
        -- czekamy na zmiane ktoregos z sygnalow
        wait on wej;
        -- jest to podobne do listy podawanej po slowie proces ...
        -- tyle ze wtedy oczekiwanie jest umieszczane na kocu ciala procesu ...
        -- nalezy wspomniec ze jest tez wait until (czekanie na spelnienie warunku)
        
        x := '0';
        i := -1;
        
        -- petla typu while
        L0: while i<2 loop
          i := i+1;
          
          -- instrukcja next powoduje przejscie do nastepnego kroku petli
          next when wej(i) = '0';
          -- pomiedzy next a when mozna podac etykiete petli ktorej iteracje chemy zakonczyc ...
          
          x := '1';
        end loop;
        
        wyj <= not x;
    end process;
end;


architecture proces_loop of nor3 is
  begin
    process (wej)
      variable i: integer range -1 to 2;
      variable x: std_logic;
      begin
        x := '0';
        i := -1;
        -- petla prosta
        L0: loop
          exit when i=2;
          i := i+1;
          next when wej(i) = '0';
          x := '1';
          exit;
        end loop;
        
        wyj <= not x;
    end process;
end;

XHTML generated by highlight (http://www.andre-simon.de/) from nor.vhdl



Copyright (c) 1999-2015, Robert Paciorek (http://www.opcode.eu.org/), BSD/MIT-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This text/program is free document/software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/programing/vhdl/nor.vhdl) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: '2014-01-07 19:27:39 (UTC)' (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).