Jak definovat I / O pin

M

Max

Guest
Chci použít FPGA pro rozhraní 1-wire IC.
Tak jsem musel definovat některé I / O pin na bi-směr.
Moje otázka je, že
když chci používat tento pin jako vstup
nebo druhou stranu, když chci použít jako výstup, jak mohu napsat kód v jazyce VHDL.

 
Za prvé budete muset deklarovat dvakrát řídící sběrnice, INOUT.

Zde je několik příkladů kódu pro tento:

KNIHOVNA IEEE;
USE ieee.std_logic_1164.ALL;

ENTITY bidir IS
PORT (
bidir: INOUT STD_LOGIC_VECTOR (7 DOWNTO 0);
oe, CLK: IN STD_LOGIC;
INP: IN STD_LOGIC_VECTOR (7 DOWNTO 0);
outp: OUT STD_LOGIC_VECTOR (7 DOWNTO 0));
END bidir;

ARCHITEKTURA maxpld OF bidir IS
SIGNAL: STD_LOGIC_VECTOR (7 DOWNTO 0); - DFF, který ukládá
- Hodnota od vstupu.
SIGNAL b: STD_LOGIC_VECTOR (7 DOWNTO 0); - DFF, který ukládá
BEGIN - zpětná vazba hodnotu.
Proces (CLK)
BEGIN
IF CLK = '1 'AND clk'EVENT THEN - Vytvoří flipflops
<= INP;
outp <= b;
END IF;
Ukončit proces;
Proces (OE, bidir) - behaviorální reprezentace
BEGIN - tri-států.
IF (OE = '0 '), pak
bidir <= "ZZZZZZZZ";
b <= bidir;
ELSE
bidir <=;
b <= bidir;
END IF;
Ukončit proces;
END maxpld;

 

Welcome to EDABoard.com

Sponsor

Back
Top