Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   -=Reverse=- Конфигурации. (http://zx-pk.ru/showthread.php?t=13875)

lisica 9th March 2011 20:02

Quote:

process (clock, hcnt, vcnt)
begin
if (clock'event and clock = '1') then
if (hcnt > 301 and hcnt < 417) or (vcnt(9 downto 1) > 224 and
vcnt(9 downto 1) < 285) then
blank <= '1';
else
blank <= '0';
end if;
end if;
end process;
А разве blank не активируется '0'?

---------- Post added at 18:01 ---------- Previous post was at 17:54 ----------

Quote:

if (vid_h_cnt < 301 or vid_h_cnt > 417) and (vid_v_cnt(8 downto 0) < 224 or vid_v_cnt(8 downto 0) > 285) then
vid_blank <= '1';
else
vid_blank <= '0';
end if;
Это из рабочего проэкта.
Попутаны знаки ><

---------- Post added at 18:02 ---------- Previous post was at 18:01 ----------

Или присвоение переставить, хотя бы...
blank <= '0';
else
blank <= '1';
end if;

примерно...

Ewgeny7 9th March 2011 20:09

1 Attachment(s)
lisica, ты не смотри в наш проект. Здесь многое переиначено в более толковую сторону.
Всё правильно в туторе написано, и проект работает у меня на u9 :)

---------- Post added at 19:09 ---------- Previous post was at 19:08 ----------

Quote:

Originally Posted by lisica (Post 364739)
Попутаны знаки ><

ничего не попутано.

Вот сырок и .sof

vlad 9th March 2011 20:16

Хотя, для начала не мешало бы добавить вводную статью типа про логику, дешифраторы, счетчики, регистры... Просто столкнулся с асинхронными и синхронными процессами, где требуется согласование разных частот работы схем... где использую двухступенчатые триггеры мастер-помошник...

Ewgeny7 9th March 2011 20:21

Quote:

Originally Posted by vlad (Post 364753)
Хотя, для начала не мешало бы добавить вводную статью типа про логику, дешифраторы, счетчики, регистры...

Подразумевается, что чел уже умеет это. Иначе это получится талмуд толщиной с энциклопедию.


Quote:

Originally Posted by vlad (Post 364753)
Просто столкнулся с асинхронными и синхронными процессами, где требуется согласование разных частот работы схем...

С асинхронностью в этом проекте или вообще? ПЛИС по любому предпочитает синхронность, это ёжику понятно. Но у нас процессом рулит процессор, который за счет своих тормозов прекрасно справляется с многими вольностями.

vlad 9th March 2011 20:21

1 Attachment(s)
Во к примеру:
Code:

LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
USE IEEE.std_logic_unsigned.ALL;


--**********************************************************************************************
-- Input/Output Declarations
--**********************************************************************************************

ENTITY AddrSync IS

        PORT (
                RESET                : IN        std_logic;
                AIN                        : IN        std_logic_vector(3 DOWNTO 0);
                nIORIN                : IN        std_logic;
                nIOWIN                : IN        std_logic;
                nCS                        : IN        std_logic;
                CLK                        : IN        std_logic;

                SyncAddrOut        : OUT        std_logic_vector(3 DOWNTO 0)
        );

END AddrSync;


--**********************************************************************************************
-- Architecture Body
--**********************************************************************************************

ARCHITECTURE rtl OF AddrSync IS

        SIGNAL AddrVal : std_logic_vector(3 DOWNTO 0);

BEGIN

        --
        -- AddrLatchProc:        The.
        --
        AddrLatchProc: PROCESS ( nCS, nIORIN, nIOWIN, AIN, AddrVal, RESET )
        BEGIN

                IF ( RESET = '1' ) THEN

                        AddrVal <= "0000";

                ELSIF ( (nCS = '0') AND ( (nIOWIN = '0') OR (nIORIN = '0') ) ) THEN

                        AddrVal <= AIN;

                ELSE

                        AddrVal <= AddrVal;

                END IF;

        END PROCESS AddrLatchProc;


        --
        -- WriteSyncProc:        The mode register synchronizer. Synchronizes
        --                                                changes in mode register data to the internal
        --                                                timing domain i.e. the falling edge of CLK.
        --
        WriteSyncProc : PROCESS ( CLK, RESET )
        BEGIN

                IF ( RESET = '1' ) THEN        -- Asynchronous clear

                        SyncAddrOut        <= "0000";

            ELSIF ( CLK'EVENT AND (CLK = '1') ) THEN
                                                               
                        SyncAddrOut <= AddrVal;

                END IF;

        END PROCESS WriteSyncProc;

END rtl;


Ewgeny7 9th March 2011 20:25

Выше выложил файлик прошивки

---------- Post added at 19:25 ---------- Previous post was at 19:23 ----------

Quote:

Originally Posted by vlad (Post 364757)
Во к примеру

Ага, в первом процессе синтезируется защелка вместо триггера, Кактус будет материться. Этого надо избегать. Проще всего заключить процесс в "клок".

vlad 9th March 2011 20:32

Если в общем, то все отлично!

---------- Post added at 18:32 ---------- Previous post was at 18:27 ----------

Quote:

Originally Posted by Ewgeny7 (Post 364758)
в первом процессе синтезируется защелка вместо триггера, Кактус будет материться. Этого надо избегать. Проще всего заключить процесс в "клок".

Ну насчет материться, может... но таким методом удастся засинхронизировать процесс с меньшей частотой клока.

Ewgeny7 9th March 2011 20:35

Всё, я пошел в F.E.A.R. поиграю в награду :)

---------- Post added at 19:33 ---------- Previous post was at 19:32 ----------

Quote:

Originally Posted by vlad (Post 364762)
Ну насчет материться, может... но таким методом удастся засинхронизировать процесс с меньшей частотой клока.

Возможно. Поэтому правила правилами, а мозги и интуиция полезней :)

---------- Post added at 19:35 ---------- Previous post was at 19:33 ----------

Но защелки и в самом деле могут работать непредсказуемо, сталкивался с этим.

lisica 9th March 2011 20:38

Прочитал... Увлекательно вышло! Ждём продолжения. Тогда и на счёт бланка понятно будит.

---------- Post added at 18:38 ---------- Previous post was at 18:36 ----------

Жень, извини, если что. Просто я подумал, что ты очепятался.

vlad 9th March 2011 20:48

Да, еще совет, не мешает хоть изредка после компиляции заглядывать в RTL Viewer и Chip Planner... Пути кактуса могут быть непредсказуемыми со взгляда только с одной стороны. Да, и для конкретной архитектуры свои конкретные заморочки (при оптимизации).


All times are GMT +4. The time now is 16:30.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.