Поиск по сайту

Результаты поиска по тегам 'VHDL'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • AVR
    • PIC
    • STM32
    • Arduino и Raspberry Pi
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Конкурсы сайта с призами
    • Сайт Паяльник и форум
    • Курилка
    • Технический английский (English)
    • Наши проекты для Android и Web
    • FAQ (Архив)
    • Личные блоги
    • Корзина
    • Вопросы с VK
  • ATX->ЛБП Переделки
  • Юмор в youtube Киловольты юмора
  • Надежность и группы продавцов Радиолюбительская доска объявлений exDIY
  • разные темы Переделки

Блоги

Нет результатов для отображения.

Нет результатов для отображения.

Местоположения

  • Пользователи форума

Группа


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Найдено 16 результатов

  1. При проектировании устройств какие конструкции языка VHDL лучше использовать ? 1 State machine организовывать как переменную со своим типом state1, state2 ... или можно создать variable state: natural range 0 to (конечное состояние):=0; Какая конструкция будет занимать меньше ресурсов? 2 Операторы ветвления if else или case? 3 Если нужен переход по изменению сигнала wait или опять же if? 4 Как использовать Component / port map? использую только в тестбенче но возможно так вот кодом соединять провода нескольких файлов vhd? хотелось узнать
  2. Прошу помощи , как средствами языка VHDL , управлять вот таким вот 7ми сегментным индикатором.
  3. Гбш На Плис

    Доброго времени суток уважаемые форумчане. Мой вопрос состоит в следующем - как можно сделать генератор белого гауссовского шума для ПЛИС? Без использования MatLab, только силами языка описания аппаратуры Verilog, VHDL. Проблема в том, что я генерирую рандом, который имеет равномерное распределение, а вот чтобы из равномерного получить нормальное Гауссово - есть кое-какие проблемы. Может вообще есть путь по-проще или как решить ту проблему у которой я сейчас стою... Может есть какие мыслишки? :buba:
  4. Добрый день. Прошу помощи в создании элемента. возможно ли на логике либо на языке программирования. либо может в Quartuse есть такой элемент в Wizardе . нужно , чтобы было 8 портов входов, и 4(2,1) управляющий сигналы, и 16(4,2) по 8 портов выходов(точнее шин по 8 портов). при различных сигналов на управляющих входах, информация с 8входов передавалась на 1 из 16(4,2) порта выхода. тоесть переключатель выхода. схематический рисунок прилагаю. была идея на MUX( с разрешающим входом) и созданием дешифратора 16 бит , при подаче на дешифратор какого либо сигнала , дешифратор отправляет сигнал на один из 16 MUX и сигнал идет дальше. но схема получится громоздкой , хотелось бы по меньше.
  5. Программист ПЛИС Требования: высшее техническое образование. Опыт работы в САПР (ISE Design Suite, ModelSIm, Quartus II); знание основ цифровой обработки сигналов и средств моделирования (Matlab и т.п.). Опыт работы с отечественной радиационно-стойкой элементной базой. Знание архитектуры и принципов построения современных цифровых, цифроаналоговых систем и средств для их разработки. Опыт работы с Xilinx серией Virtex5QV, ИМ 5576ХС4Т. Наличие завершенных проектов (предоставить примеры работ) Работа с констрэйнами при проектировании сложных устройств. Знания технического английского и умение работать с документацией. Обязанности · Разработка конфигураций ПЛИС (VHDL/Verilog под Altera/Xilinx/Actel); · Отладка, настройка и испытания разработанных устройств. · Работа с осциллографом, спектроанализатором, генератором сигнала. · Написание, верификация, синтез, размещение в ПЛИС фирмы Xilinx (Virtex5QV) программных алгоритмов ЦОС, программных ядер высокоскоростных интерфейсов. Условия: полное соблюдение ТК, офис в центре, з/п по результатам собеседования. С уважением, Карпухина Татьяна 8-926-827-89-71 expert@rabotaka.com skype - maksimus-d.m.
  6. Доброго времени суток! Я только начал разбираться с VHDL и попытался написать регистр. До этого никакого опыта работы на языках описания аппаратуры не было. Так вот, идея была такая - в регистре 3 входных порта, один типа std_logic (порт cs), два других типа std_logic_vector (порты addr и datain). Два выходных порта типа std_logic (порты oi1 и oi2). Хотел, чтобы при определенных комбинациях на портах cs и addr, разрешалось запись на порт datain. Также хотел ввести "запрещенные" комбинации на порт datain, в зависимости от которых на выходные порты oi1 и oi2 отправлялась единица. для этого написал следующий код: library ieee; use ieee.std_logic_1164.all; entity Reg is port ( cs : in std_logic; addr : in std_logic_vector(1 downto 0); datain : in std_logic_vector(7 downto 0); oi1, oi2 : out std_logic ); end Reg; architecture ArchReg of Reg is signal sigreg : std_logic_vector(7 downto 0); begin process (cs, addr) begin if (cs = '1') then case addr is when "10" => sigreg <= datain; when "11" => sigreg <= datain; when others => null; end case; end if; if (sigreg = "11110000" or sigreg = "11001100") then oi1 <= '1'; elsif (sigreg = "00001111" or sigreg = "00110011") then oi2 <= '1'; else oi1 <= '0'; oi2 <= '0'; end if; end process; end ArchReg; Данный код скомпилировал в квартусе, компилируется без ошибок, однако получившаяся схема получается далекой от истины. Отсюда вопрос - как правильно написать данный регистр?
  7. Помогите С Vhdl

    Товарищи, помогите с реализацией вот такой схемки. Буду очень благодарен. Схема содержит блок выделения временных характеристик ( БВВХ ) и устройство временного хранения ( УВХ ) . Импульсы с клавиатуры Кл в виде длительностей (определяют продолжительность нажатия клавиш) и в виде коротких пиковых импульсов (определяют начало и конец нажатия каждой клавиши ) подаются на входы БВВХ. БВВХ обрабатывает все временные импульсные последовательности во времени с полученных числовых последовательностей сохраняются в УВХ . Функциональная схема БВВХ представлена на рисунке ниже . Схема содержит счетчик длительностей нажатия ( СДН ) , счетчик длительностей пауз (СДП ) , счетный триггер (Т ) , генератор опорной частоты (Г ) . Импульсы нажатия кнопок поступают на вход СДН. Генератор Г подает импульсы с опорной частотой на тактовые входы СДН и СДП и заполняют соответствующие импульсные продолжительности на информационных входах СДН и СДП, которые подсчитывают количество опорных импульсов, уложились в соответствующие продолжительности . Пиковые импульсы , определяющие моменты нажатия и отпускания клавиш подаются на счетный вход триггера Т . В начальный момент Т находится в нулевом состоянии. С приходом первого пикового импульса триггер Т переходит в единичное состояние . В это время начинается импульс нажатия клавиши , который подается на вход СДН. СДН начинает подсчет опорных импульсов. По окончании импульса нажима , появляется второй пиковый импульс. СДН перестает считать и подается на первый управляющий вход УВХ , что дает команду на запись кода СДН и записывается первое число ключевой последовательности . Триггер Т переходит в нулевое состояние , а на входе СДП появляется единичный сигнал. СДП начинает подсчет опорных импульсов от Г. По окончании импульса паузы происходит запись кода СДП в УВХ , в котором формируется второе число ключевой последовательности . С дальнейшим приходом пиковых импульсов и импульсов нажима все выше описанные процессы повторяются .
  8. Vhdl Testbench В Xilinx Ise Webpack

    Всем здрасьте. Только учусь работать с VHDL. Осваиваю Xilinx Ise WebPack (кажись он так называется). И при попытке сгенерировать эту отладочную доску на vhdl он мне генерирует её с ошибками: Ругается на <clock>. Кто знает что с этим делать?
  9. Добрый день! Недавно начал заниматься VHDL... Написал небольшой модуль, провёл симуляцию в ModelSim (создавал другой VHDL файл, и из него запускал основной блок и подавал сигналы) - всё работало нормально. Решил сделать симуляцию на реальном чипе в Quartus II + ModelSim. Чип - Cyclone II. Всё скомпилировал, запустил ModelSim, добавил данные прямо в симуляции(Force..., Clock...) - тоже всё работает нормально, но при выставлении очень маленького шага (1ps) Clock, сигналы по прежнему получаются идеальные без выбросов и смещений, хотя в блоке есть вычисления и два процесса. Друг, который этим занимался раньше и работал на Max+ говорит, что выбросы должны быть и сигнал не идеально квадратный должен быть. Но, к сожалению, он не работал с Quartus. В чём может быть причина? И может у кого-нибуть найдётся толковый проверенный туториал, хотя уже несколько попробовал... Если нужна какая-нибуть доп. информация для прояснения ситуации, пишите - выложу.
  10. Vhdl Mux 4 В 1, 8 Bit

    Здравствуйте! Перейду сразу к делу. От меня потребовалось написать код VHDL для 8-ми битного мультиплексора 4 в 1. Сам код написан: library IEEE; use IEEE.std_logic_1164.all; entity mux is port ( x1, x2, x3, x4 : in std_logic; clk :in std_logic_vector(8 downto 0); out : out std_logic_vector(32 downto 0) ); end mux; architecture ttl of mux begin process clk begin if(clk(0)="0" and clk(1)="0") then out<=x1; elsif(clk(0)="0" and clk(1)="1") then out<=x2; elsif(clk(0)="1" and clk(1)="0") then out <=x3; else out<=x4; end if; end process; end ttl; Хотелось бы услышать критику, замечания и пожелания, если таковые возникнут. Указать на ошибки и, если возможно подсказать решения. Потому как в программировании я не силен. За ранее спасибо!
  11. Active-Hdl И Virtex - 4

    Доброго времени суток. Я только начал изучать все что касается ПЛИС. Есть Active-HDL и Virtex - 4 , помогите хотя бы начать какой-то простенький проект, как это все будет связанно и тому подобное. Есть небольшие навыки с языком VHDL. Насколько я понимаю нужны какие-то дополнительные библиотеки Xilinx
  12. Проектирование На Vhdl

    Добрый вечер! Есть такая проблема, необходимо перевести имеющуюся электрическую принципиальную схему (проектировалось ОЗУ), в схему на языке VHDL. Есть тут те кто этим занимается?
  13. Фильтр На Vhdl

    У меня задача: реализовать фильтр на VHDL: необходимо произвести линейную фильтрацию. Для фильтрации берется стандартная картинка в RGB цвете 24 битная, которая затем преобразуется с помощью сторонних программных средств в 32 битную картинку с 3-мя оттенками серого, которая и подается на вход фильтра(чтение из файла), фильтр сделав необходимую фильтрацию отдает ее на выход(запись в файл). Заданная задача у меня реализован0, а но запись в файл производиться неправильно - полученная картинка не соответствует той, которая была на входе. Возможно, проблема с коэффициентом нормализации фильтра. Я не знаю, как его написать. Буду рад услышать совет. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Filter is Port ( Clock : in std_logic; Reset : in std_logic; data : in std_logic_vector(7 downto 0); input_En : in std_logic; filteredData: out std_logic_vector(7 downto 0); out_En : out std_logic ); end Filter; architecture Filter of Filter is component Multipl is Port ( Clock : in std_logic; A : in std_logic_vector(7 downto 0); B : in std_logic_vector(7 downto 0); Result : out std_logic_vector(15 downto 0); Set : in std_logic; Res_Rdy : out std_logic ); end component; signal K0 : std_logic_vector(7 downto 0):= "00000000"; signal K1 : std_logic_vector(7 downto 0):= "00000000"; signal K2 : std_logic_vector(7 downto 0):= "00000000"; signal K3 : std_logic_vector(7 downto 0):= "00001001"; signal K4 : std_logic_vector(7 downto 0):= "00000000"; signal K5 : std_logic_vector(7 downto 0):= "00000000"; signal K6 : std_logic_vector(7 downto 0):= "00000000"; signal Norm : std_logic_vector(7 downto 0):= "00000010"; signal data0 : std_logic_vector(7 downto 0):= "00000000"; signal data1 : std_logic_vector(7 downto 0):= "00000000"; signal data2 : std_logic_vector(7 downto 0):= "00000000"; signal data3 : std_logic_vector(7 downto 0):= "00000000"; signal data4 : std_logic_vector(7 downto 0):= "00000000"; signal data5 : std_logic_vector(7 downto 0):= "00000000"; signal data6 : std_logic_vector(7 downto 0):= "00000000"; signal mult0 : std_logic_vector(15 downto 0):= "0000000000000000"; signal mult1 : std_logic_vector(15 downto 0):= "0000000000000000"; signal mult2 : std_logic_vector(15 downto 0):= "0000000000000000"; signal mult3 : std_logic_vector(15 downto 0):= "0000000000000000"; signal mult4 : std_logic_vector(15 downto 0):= "0000000000000000"; signal mult5 : std_logic_vector(15 downto 0):= "0000000000000000"; signal mult6 : std_logic_vector(15 downto 0):= "0000000000000000"; signal sum0 : std_logic_vector(16 downto 0):= "00000000000000000"; signal sum1 : std_logic_vector(17 downto 0):= "000000000000000000"; signal sum2 : std_logic_vector(18 downto 0):= "0000000000000000000"; signal sum3 : std_logic_vector(19 downto 0):= "00000000000000000000"; signal sum4 : std_logic_vector(20 downto 0):= "000000000000000000000"; signal sum5 : std_logic_vector(21 downto 0):= "0000000000000000000000"; signal count : std_logic_vector(3 downto 0) := "0000"; signal reg : std_logic_vector(12 downto 0) := "0000000000000"; signal Res_Rdy : std_logic; begin filt0 : Multipl Port map( Clock => Clock, A => K0, B => data0, Result => mult0, Res_Rdy => Res_Rdy, Set => '1' ); filt1 : Multipl Port map( Clock => Clock, A => K1, B => data1, Result => mult1, Res_Rdy => Res_Rdy, Set => '1' ); filt2 : Multipl Port map( Clock => Clock, A => K2, B => data2, Result => mult2, Res_Rdy => Res_Rdy, Set => '1' ); filt3 : Multipl Port map( Clock => Clock, A => K3, B => data3, Result => mult3, Res_Rdy => Res_Rdy, Set => '1'); filt4 : Multipl Port map( Clock => Clock, A => K4, B => data4, Result => mult4, Res_Rdy => Res_Rdy, Set => '1' ); filt5 : Multipl Port map( Clock => Clock, A => K5, B => data5, Result => mult5, Res_Rdy => Res_Rdy, Set => '1' ); filt6 : Multipl Port map( Clock => Clock, A => K6, B => data6, Result => mult6, Res_Rdy => Res_Rdy, Set => '1' ); process(Clock) begin if (rising_edge(Clock)) then filteredData <= sum5(11 downto 4); sum0 <= '0'&mult0 + mult1; sum1 <= '0'&sum0 + mult2; sum2 <= '0'&sum1 + mult3; sum3 <= '0'&sum2 + mult4; sum4 <= '0'&sum3 + mult5; sum5 <= '0'&sum4 + mult6; end if; end process; --1 process(Clock, Reset) begin if(Reset = '1') then Res_Rdy <= '0'; elsif(rising_edge(Clock)) then if (input_En ='1') then data0 <= data; end if; reg(0)<= input_En; end if; end process; --2 process(Clock) begin if (rising_edge(Clock)) then reg(1)<= reg(0); data1 <= data0; end if; end process; --3 process(Clock) begin if (rising_edge(Clock)) then reg(2)<= reg(1); data2 <= data1; end if; end process; --4 process(Clock) begin if (rising_edge(Clock)) then reg(3)<= reg(2); data3 <= data2; end if; end process; --5 process(Clock) begin if (rising_edge(Clock)) then reg(4)<= reg(3); data4 <= data3; end if; end process; --6 process(Clock) begin if (rising_edge(Clock)) then reg(5)<= reg(4); data5 <= data4; end if; end process; --7 process(Clock) begin if (rising_edge(Clock)) then reg(6)<= reg(5); data6 <= data5; end if; end process; --8 process(Clock) begin if (rising_edge(Clock)) then reg(7)<= reg(6); end if; end process; --9 process(Clock) begin if (rising_edge(Clock)) then reg(8)<= reg(7); end if; end process; --10 process(Clock) begin if (rising_edge(Clock)) then reg(9)<= reg(8); end if; end process; --11 process(Clock) begin if (rising_edge(Clock)) then reg(10)<= reg(9); end if; end process; --11 process(Clock) begin if (rising_edge(Clock)) then reg(11)<= reg(10); end if; end process; --11 process(Clock) begin if (rising_edge(Clock)) then reg(12)<= reg(11); out_En <= reg(12); end if; end process; end Filter;
  14. Здравствуйте. У меня есть задание, оно звучит так: есть 3 датчика, если приходит сигнал от одного, то загорается диод на 5 сек, после тухнет. Так же дана частота 250 КГц на вход. Я написал тактовый генератор. Протестил его со всех сторон - всё работает хорошо. Вот код: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; use IEEE.NUMERIC_STD.ALL; Entity ClockGenerator is Generic(NCount: Natural := 625000); Port(reset: in STD_LOGIC; clk: in STD_LOGIC; y: out STD_LOGIC); End ClockGenerator; Architecture Behavioral of ClockGenerator is Signal s: STD_LOGIC := '0'; Signal f: STD_LOGIC := '1'; shared variable r: STD_LOGIC := '0'; -- если равен 1, то надо сбросить счетчик begin -- Обнулить счетчик времмени process(reset) begin if(reset'event and reset = '1') then r := '1'; else r := '0'; end if; end process; process(clk, reset) variable c: STD_LOGIC_VECTOR(23 downto 0) := (others => '0'); begin if(clk'event) then if(r = '1') then c := (others => '0'); r := '0'; else if (clk = '1') then c := std_logic_vector(unsigned(c) + 1); if(c = NCount) then s <= '1'; c := (others => '0'); else s <= '0'; end if; end if; end if; end if; end process; process(s) begin if(s'event and s = '1') then f <= not f; end if; end process; y <= f; end Behavioral; Т.е. раз входная частота равно 250 КГц, то clk'event будет срабатывать раз в 0,000004 секунды. Мой счетчик будет подсчитывать количество тактов и когда пройдет 5 секунд (т.е. было 625000 тактов) будет выдавать сигнал. Далее я написал сам модуль (по заданию который) LIBRARY ieee; USE ieee.std_logic_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY MAIN IS Port(d1, d2, d3: in STD_LOGIC; -- Датчики s: out STD_LOGIC; -- Выходной сигнал clk: in STD_LOGIC ); END MAIN; ARCHITECTURE behavior OF MAIN IS -- Components Component ClockGenerator Port(reset: IN std_logic; clk: IN std_logic; y: OUT std_logic ); End component; -- Signals signal r: std_logic := '0'; signal st: std_logic := '0'; signal y: std_logic; -- Logic Begin Clock: ClockGenerator port map(reset => r, clk => clk, y => y); process(d1, d2, d3) begin if((d1'event and d1 = '1') or (d2'event and d2 = '1') or (d3'event and d3 = '1')) and st = '0' then r <= '1'; st <= not st; end if; end process; process(y) begin if(y'event and y = '1' and st = '1') then r <= not r; st <= not st; end if; end process; s <= st; End behavior; Тут, всё (вроде как) просто. Т.е. если d1, d2 или d3 становятся равными 1, то обнуляется таймер и ждем, пока ClockGenerator дает на выходе 1, что означает, что прошло 5 секунд. Всё это время (пока ждем сигнала от ClockGenerator) возвращаем 1 из моделя. К этой схеме написал Test Bench, он и делает нужную частоту. Для пример в нем я отправляю в d2 1 через короткое время, но мой модель не возвращает при этом 1 (диод включен). Вот test bench: LIBRARY ieee; USE ieee.std_logic_1164.ALL; -- Uncomment the following library declaration if using -- arithmetic functions with Signed or Unsigned values --USE ieee.numeric_std.ALL; ENTITY TEST IS END TEST; ARCHITECTURE behavior OF TEST IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT MAIN PORT( d1: IN std_logic; d2: IN std_logic; d3: IN std_logic; s: OUT std_logic; clk: IN std_logic ); END COMPONENT; --Inputs signal d1 : std_logic := '0'; signal d2 : std_logic := '0'; signal d3 : std_logic := '0'; --BiDirs signal clk: std_logic := '0'; --Outputs signal s : std_logic; -- Clock period definitions constant clk_period : time := 0.004 ms; BEGIN -- Instantiate the Unit Under Test (UUT) uut: MAIN PORT MAP ( d1 => d1, d2 => d2, d3 => d3, s => s, clk => clk ); -- Clock process definitions clk_process :process begin clk <= '0'; wait for clk_period/2; clk <= '1'; wait for clk_period/2; end process; -- Stimulus process stim_proc: process begin wait for clk_period*10; d2 <= '1'; wait; end process; END; Прошу помощи у вас. Спасибо
  15. Vhdl Код И Modelsim

    Здраствуйте. Я тут осваиваю VHDL код и заодно использую моделсим, как среду симуляции, чтобы посмотреть правильно ли работает тот или иной элемент. У меня ошибка с данным кодом : library ieee; use ieee.std_logic_1164.ALL; use ieee.numeric_std.ALL; entity fdc is port ( c,clr : in std_logic; d,q : inout std_logic); end fdc; architecture behav of fdc is begin process begin if (clr='1') then d <= 'X'; q <= 'X'; elsif (rising_edge(c)) then q<=d; end if; end process; end behav; library ieee; use ieee.std_logic_1164.ALL; use ieee.numeric_std.ALL; entity clock is port (xCLKx2, x_CLK : out std_logic); end clock; architecture behav of clock is component fdc port ( c,clr : in std_logic; d,q : inout std_logic); end component; begin D1: fdc port map ( xCLKx2 => c); ------ Ошибка ------ process begin wait for 5 ns; xCLKx2 <= '1'; wait for 5 ns; xCLKx2 <= '0'; end process; process begin wait for 10 ns; x_CLK <='1'; wait for 10 ns; x_CLK <='0'; end process; end behav; Немного пояснений к коду и ошибке. Первая часть кода - описание FDC лог. элемента. С ним никаких ошибок нету. Вторая часть это симуляция тактового сигнала ( там их два с разной частотой, но пока используется только один xCLKx2) Ошибка заключается в том, что компилятор сообщает мне о необъявленном идентификаторе C. Если я его объявляю заранее с помощью "signal c : std_logic :='X'", то затем ругается на xCLKx2 аналогично. Если я снова пытаюсь аналогично его объявить, то мне сообщает о том, что xCLKx2 сигнал уже объявляется раньше. В чем беда?
  16. Описание Интерфейса

    Надо описать прием данных по паралельной 11 разрядной шине. В этой шине один из разрядов является тактовым, по которому надо принимать эти данные. Подскажите какие-нибудь варианты.