CPLD stale v tom plavu :-)
Daniel Valuch
daniel.valuch@orange.fr
Středa Červenec 8 15:18:41 CEST 2009
ak mozem doporucit, pre navrhy ktore sa budu syntetizovat nepouzivajte
premenne ale signaly. Premenne su trochu 'tricky' na pouzivanie. Mozem
dat vlastny priklad kedy som len nahodou zistil ze to co som si myslel
ze je citac sa mi prelozilo ako state machine s 4096 stavmi. Kedze bolo
FPGA velke vsimol som si to len nahodou ked som hladal inu chybu. Po
zmene z premennej na signal bol preklad v poriadku a uvolnilo sa znacne
mnozstvo zdrojov :-)
priklad citaca z
http://www.xilinx.com/itp/3_1i/data/fise/xst/chap02/xst02005.htm
Following is VHDL code for a 4-bit unsigned Up counter with asynchronous
clear.
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity counter is
port(C, CLR : in std_logic;
Q : out std_logic_vector(3 downto 0));
end counter;
architecture archi of counter is
signal tmp: std_logic_vector(3 downto 0);
begin
process (C, CLR)
begin
if (CLR='1') then
tmp = "0000";
elsif (C'event and C='1') then
tmp = tmp + 1;
end if;
end process;
Q = tmp;
end archi;
j.Krajinka@seznam.cz wrote:
> Mea culpa, asi jsem momentalne zaostaly, ale s timhle se peru uz hodinu.
>
> Pokud se nepletu tak port muze byt definovan jako in, out, inout a buffer?
> Pokud ano tak nechapu proc pri vytvareni noveho modulu New Source Wizard neumoznuje volbu buffer?
>
> Zkousel jsem delicku kmitoctu 1:4096
>
> Port ( Clk : in STD_LOGIC;
> CD : buffer STD_LOGIC);
>
> process(Clk,CD)
> variable cnt : integer range 0 to 4096;
> begin
> if(Clk'event and Clk='1') then
> if(cnt=4096)then
> cnt:=0;
> CD<= CD nand '1';
> else
> cnt := cnt+1;
> end if;
> end if;
> end process;
>
> toto se bezproblemu prelozi a projde kontrolou syntaxe.
> problem je ze, kdyz vytvorim VHDL Test Bench , tak generator oznaci CD jako vystup CD : OUT std_logic
> Pokus o simulaci konci chybou
> ERROR:HDLCompiler:439 - Formal port cd of mode buffer cannot be associated with actual port cd of mode out, ktera je tak tajna, ze ji nepopisuji ani v napovede na webu Xilinx.
> Kdyz to rucne opravim z Out na buffer tak to funguje, ale tak si rikam, zda nedelam neco blbe, kdyz je to tak komplikovane :-)
>
>
> Dekuji
> Jirka
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
Další informace o konferenci Hw-list