Rine

Список чувствительности

11 сообщений в этой теме

Rine    0
process (int,b)
begin
   if (int'event and int='1') then  
          if (b="01") then  x<='1';  b1 <= "00";
                else b<=b+1; x<='0';
        end if;
    end if;
end process;

;

 

Здравствуйте! Не подскажите как правильно понять этот кусок кода...

В списке чувствительности сигнал int он периодически меняется, по его изменению выполняется код ниже... Но непонятно зачем в список занесли b, этот сигнал меняется только в этом коде и нигде больше...  К примеру изменился в коде b и процесс выполняется еще раз, или изменение сигналов чувствительности во время выполнения процесса не активируют выполнение процесса еще один раз?

Изменено пользователем Rine
дополнение

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vascom    660

Скорее всего сигнал "b" нужен в списке чувствительности потому что он проверяется внутри if 

if (b="01")

А вообще - используй Verilog и всё будет гораздо понятнее и проще.

Изменено пользователем Vascom

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Rine    0

Тогда два вопроса

1)То, что используется внутри надо выносить в список чувствительности?

2)Если переменная, которая в списке чувствительности изменится во время выполнения процесса, он начнется еще раз?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Впервые на русском языке! Работаем с микроконтроллерами STM32F7(на основе STM32F7 Online Training)

Цикл материалов на основе STM32F7 Online Training от компании STMicroelectronics. Описаны функциональные блоки и инструменты разработки для семейства микроконтроллеров STM32F7, охватывающие тематику системной периферии, памяти, безопасности, аналоговой периферии, цифровой периферии, таймеров, экосистемы.

Подробнее>>

Vascom    660

В список надо вносить то, что проверяется в условиях (if, case). Хотя... Но в данном случае это ни на что не влияет.

Нет, ещё раз не начнётся, поскольку условие фронта int не наступит.

Не стоит относиться к этому коду, как к программе для компьютера. Лучше сразу примерно представлять во что данный код будет синтезирован.

Тут будут три регистра x, b, b1, которые будут менять своё значение только по положительному фронту тактового сигнала int.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Rine    0

Да, условия фронта не наступит, но чтоб до проверки условия фронта дойти надо зайти в процесс... 

Правильно  я понимаю - изменился int, мы зашли в процесс и поменяли b. Тк b изменился мы входим еще раз в процесс, но так как не выполнено условие фронта int мы выходим?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vascom    660

Нет, я же говорю, ни куда мы не заходим. Этот код синтеризуется в регистры. Ни каких заходов как в функции обычных языков программирования тут нет. Все описанные регистры и логические элементы существуют и работают одновременно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Rine    0
process (a, b, tmp)
begin
tmp <= tmp or b;
y <= tmp;
end process;

тогда такой пример, здесь мы имеем дело с комбинационной петлей и элементом ИЛИ ... Зачем tmp в списке чувствительности? Я всегда думал, что список чувствительности это те сигналы, изменение которых начинает начало процесса... А что делать с сигналами, которые меняются в самом процессе, и одновременно находятся в списке чувствительности? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vascom    660

Тут просто комбинационная логика получится.

Можешь синтезировать оба варианта и построить схему, тогда всё будет ясно видно.

 

Тебе принципиально VHDL нужен? На Verilog подобных вопросов не возникнет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lexus    992
23 часа назад, Rine сказал:

process (int,b)
begin
   if (int'event and int='1') then  
          if (b="01") then  x<='1';  b1 <= "00";
                else b<=b+1; x<='0';
        end if;
    end if;
end process;

Здравствуйте! Не подскажите как правильно понять этот кусок кода...

В списке чувствительности сигнал int он периодически меняется, по его изменению выполняется код ниже... Но непонятно зачем в список занесли b, этот сигнал меняется только в этом коде и нигде больше...  К примеру изменился в коде b и процесс выполняется еще раз, или изменение сигналов чувствительности во время выполнения процесса не активируют выполнение процесса еще один раз?

Очень странный код в отрыве от программы целиком. Да, при изменении переменной b компилятор будет обращаться к этому коду, но так как переменная b проверяется только внутри старшего условия, то ничего в этом коде выполняться не будет. Из списка чувствительности можно смело убрать переменную b.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Rine    0
В 30.11.2017 в 15:03, Rine сказал:

process (a, b, tmp)
begin
tmp <= tmp or b;
y <= tmp;
end process;

тогда такой пример, здесь мы имеем дело с комбинационной петлей и элементом ИЛИ ... Зачем tmp в списке чувствительности? Я всегда думал, что список чувствительности это те сигналы, изменение которых начинает начало процесса... А что делать с сигналами, которые меняются в самом процессе, и одновременно находятся в списке чувствительности? 

А не сможете прокомнтировать, пожалуйста, зачем в этом куске в список занесен tmp,  это комбиционная петля,  из учебника пример

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Катерина
      Очень-очень нужны инженеры по схемотехнике!!! 
      АО «НПО «Орион» сейчас находится в поиске крутых и грамотных специалистов для разных проектов! Мы занимаемся разработкой микрофотоэлектроники как на гражданку, так и на оборонку. Это и  тепловизоры, и SWIR-камеры, инфракрасные термосканы и конструктор Smart Blocks на базе Ардуино, а также фотоприемные устройства, лазерные целеуказатели, очки ночного виденья, микрокриогенные системы и другое.
      Нам нужен такой человек, который по сформулированному техническому заданию сможет с нуля разработать и спроектировать схему «на железе» для того или иного проекта. Также создать макет электронной схемы, протестировать и испытать его. Ну и естественно сопроводить процесс производства от опытного до серийного. Работа в паре с инженером-конструктором. Очень круто, если вы уже проектировали ПЛИС и микроконтроллеры.
      Наши плюшки:
      Интересные проекты, некоторые из них в России еще никогда не разрабатывались. У вас будет возможность для творчества, новых разработок и предложений. Стабильность и гарантию! Не смотря на наши проекты и разработки в гражданском направлении, предприятие у нас государственное и соблюдает все нормы трудового законодательства. Очень вкусную столовую на территории с завтраками и обедами (средняя стоимость ~ 150 рублей). Уникальную возможность – увидеть производство матриц фоточувствительных элементов от подложки до готовой матрицы, которую потом Вы и будете разводить на схеме. Множество спортивных и культурных мероприятий в большом и дружном коллективе. А также для пешеходов – доступность от метро Выхино (7 минут пешком или 1 остановка на автобусе). Бонусом водителям автомобилей - две бесплатные корпоративные парковки. Локация: Москва, ст. метро Выхино;
      График работы: 5/2 с 9:00 до 17:45 (+/- час);
      З/п по результатам собеседования
      Контакты: hr@npo-orion.ru
      +7 499 786 3669 (Екатерина) 
    • Гость Rijiko
      Автор: Гость Rijiko
      Привет всем! 

      Мы - команда разработчиков, занимающиеся исследованием и апробацией способов, алгоритмов и программ контроля целостности данных в процессе передачи или хранения. 
      В рамках преакселерационной программы по гранту "УМНИК" нам необходимо найти контакты лиц, заинтересованных в применении результатов наших разработок. 

      На данный момент имеются реализации на ПЛИС циклического метода декодирования для кодов БЧХ(15,7,5) и (15,5,7), а также для кодов, исправляющих пакетные ошибки (аналог кодов Рида-Соломона).


      Есть ли заинтересованные лица в разработках по данной области исследования (реализация контроля целостности данных при передаче по каналу связи с помехами, или при хранении данных)?
    • Автор: zontoo
      Нужен программист ПЛИС для создания прошивки шагового двигателя
      чип xilinx (драйвер и программатор предоставлю).
      Начать нужно немедленно.
      Укажите примерную стоимость, скайп, опыт по ПЛИС. 
      Пишите на почту yanbotalov (собака) gmail.com с резюме и портфолио по ПЛИС
    • Автор: Brender3000
      Санкт-Петербург.  По цене договоримся легко, но желательно (если с пересылом) такое кол-во сразу прикидывать, чтобы хотя бы примерно, ну от 500 р , Просто из-за 200 р. на почту лень бегать и там еще очередь стоять. Фотки нужных МС пришлю заранее естественно, большая часть в кучу в аттаче.
      Связь или здесь в лс или:
      Ватсап +79117214333
      Вконтакт  https://vk.com/the_working_dead
      Список:
      ====================================
      SSM2166S - усилитель микрофона с настройкой компрессии и подавлением шумов, корпус SOIC-14
      http://www.analog.com/media/en/technical-documentation/data-sheets/SSM2166.pdf
      INA128UA - высокоточный инструментальный ОУ с низким потреблением 700мкА,питание ±2.25 V to ±18 V, корпус SO-8
      http://www.ti.com/lit/ds/symlink/ina129.pdf
      A3964SB - драйвер шагового движка
      https://media.digikey.com/pdf/Data Sheets/Allegro PDFs/3964.pdf
      740L600 - оптопара, TTL-буфер
      http://213.114.131.21/_pdf/74_TTL/74OL6000.pdf
      AQW213EH - сдвоенная оптопара
      https://ru.mouser.com/ds/2/315/panasonic electric works_aqw-dip-current-limiting--1196835.pdf
      HT9200A - генератор тонального сигнала/2.5V~5.5V/3.58MHz/Serial/8 DIP/
      http://www.farnell.com/datasheets/79214.pdf
      RPM6938 - ИК приемник
      https://www.mouser.com/ds/2/348/rpm6900-313874.pdf
      IDT7202LA - асинхронный FIFO на полевиках 1024x9
      https://www.mouser.com/ds/2/464/IDT_7200-7202_DST_20171127-880469.pdf
      PCF7942AT - транспондер и контроллер бесконтактного досутпа
      http://www.ic72.com/pdf_file/p/70131.pdf
      VB027 - высоковольтный драйвер катушек зажигания
      http://pdf.datasheetcatalog.com/datasheet/stmicroelectronics/5589.pdf
       
      SP706-EP - низкопотребляющий контроллер напряжения 4.40V DIP-8
      http://pdf.datasheetcatalog.com/datasheet/sipex/SP708CN.pdf
      DS1013S - 3 линии задержки
      http://www.phenix.bnl.gov/phenix/WWW/muon/muid_fee/whitus/data_sheets/DS1013.pdf
      TCM38C17IDL- 4 канальный ИКМ
      https://media.digikey.com/pdf/Data Sheets/Texas Instruments PDFs/TCM38C17IDL.pdf
      LF398AN - усилитель выборки и хранения
      http://www.ti.com/lit/ds/symlink/lf398-n.pdf
      MAX7408 - эллиптический фильтр низких частот 5 порядка
      https://datasheets.maximintegrated.com/en/ds/MAX7408-MAX7415.pdf
      LXT6234QE - мультиплексор, корпус PQFP-100
      http://www.ic72.com/pdf_file/l/151749.pdf
      2N4012 - n-p-n биполярный транзистор
      http://kazus.ru/datasheets/pdf-data/1946963/NJSEMI/2N4012.html
      M27V160-100FX1 - 16 Mbit (2Mb x8 or 1Mb x16) EEPROM корпус FDIP42WB (с окошком)
      https://ru.mouser.com/ds/2/389/stmicroelectronics_cd00001045-1204542.pdf
      MAX9388EUP - мультиплексор, корпус TSSOP-20
      https://datasheets.maximintegrated.com/en/ds/MAX9386-MAX9388.pdf
      PGA204BU - инструментальный ОУ с настройкой КУ, SOIC-16
      http://www.ti.com/lit/ds/symlink/pga204.pdf
      MAX211EWI -  Трансивер RS-232, SO-28
      https://datasheets.maximintegrated.com/en/ds/MAX200-MAX213.pdf
      ALTERA MAX EPM9320ALC84-10 - ПЛИС
      https://www.altera.com/en_US/pdfs/literature/ds/archives/m9000.pdf



    • Гость Антон
      Автор: Гость Антон
      Доброго времени суток. Нужна помощь с программированием простеньких схем цифровой схемотехники. Нужно на 2 языках написать код+tb. Всего схем около сотни. В них входят мультиплексоры, демультиплексоры, декодеры, счетчики. Естественно не за бесплатно. Это пример самой сложной ( по моему субъективному мнению) схемы.
      По всем вопросам и предложениям можете написать мне на почту tarasov123789@mail.ru