Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программируемая логика: ПЛИС, ПАИС
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Ghosterus
46 / 1 / 1
Регистрация: 24.11.2018
Сообщений: 44
1

Восприятие языка описания аппаратуры

14.08.2019, 15:01. Просмотров 744. Ответов 3

Всем привет. Вникаю в языки описания аппаратуры, в частности в verilog, и на одном вопросе вхожу в ступор. Для примера возьмем два кода:

C++
1
2
3
4
5
6
module test1 ( input wire clk, output wire [5:0] leds);
    assign leds = count[28:23];
    reg [28:0] count;
    always @(negedge clk)
        count <= count + 1;
endmodule
C++
1
2
3
4
5
6
7
8
9
10
11
12
module test2 (input wire a, b, cin,
 output wire s, count);
 
wire p, g;
 
assign p = a ^ b;
assign g = a & b;
 
assign s = ~cin;
assign count = g | (p & cin);
 
endmodule
В test1 мы обозначаем как вход провод (wire) и называем его clk. В теле блока always мы описываем некоторые действия, которые выполняются при соблюдении условия, которое указано в скобках. В данном случае, это прохождение заднего фронта сигнала, проходящего по проводу clk.
В test2 мы обозначаем входы и выходы как провод. Внутри модуля вводим условия, по которым вышеописанные провода будут выдавать сигналы 0 или 1.
И здесь возникает вопрос по поводу того, какие сигналы проходят по проводам в зависимости от типа переменной? То есть, по умолчанию по проводам идут сигналы, имеющие прямоугольную форму, частота которых зависит от частоты тактового генератора на плате (потому что в test1 мы clk никак не переобозначили). Но если мы пишем assign g = a & b, то это значит, что при выполнении условия (поступают ли сигналы прямоугольной формы на вход g или нет) по проводу g начнут проходить сигналы уже не прямоугольной формы, а логическая единица?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2019, 15:01
Ответы с готовыми решениями:

Методы восстановления аппаратуры после сбоя
Здравствуйте.Посоветуйте какую-нибудь литературу ,где пожно найти информацию о методах...

Разработать электронное устройство защиты аппаратуры от перегрева
Здравствуйте! Может ли кто-нибудь помочь в построении принципиальной эл.схемы... Вот...

Реализация языка описания протоколов обмена
Привет парни. Я все чаще сталкиваюсь с необходимостью читать/прошивать микросхемы (контроллеры),...

Учебник по C#: без описания работы компилятора, создания языка и биографии его авторов
В учебнике опускается описание работы компилятора, создание языка c# и биографии его авторов. 85...

Восприятие
Хочу с вами посоветоваться. Во общем в последнее время стал замечать, что у меня какие то события...

3
Ethereal
5175 / 2349 / 317
Регистрация: 17.02.2013
Сообщений: 3,391
14.08.2019, 18:18 2
Цитата Сообщение от Ghosterus Посмотреть сообщение
Но если мы пишем assign g = a & b, то это значит, что при выполнении условия
Оператор assign это непрерывное присваивание. Непрерывное, а значит безусловное, т.е. без каких либо условий. В правой части оператора assign НЕ условие.
0
Ghosterus
46 / 1 / 1
Регистрация: 24.11.2018
Сообщений: 44
15.08.2019, 09:12  [ТС] 3
Ethereal, если не условие, то что же?
0
Ethereal
5175 / 2349 / 317
Регистрация: 17.02.2013
Сообщений: 3,391
15.08.2019, 10:02 4
Комбинаторное выражение.

Ну вот загляни сюда
https://www.microshemca.ru/LI1/
Припаяй провод a к первой ноге микросхемы, провод b ко второй ноге и провод g к третьей. Вот ты и получил в железе все, что означает выражение
assign g = a & b
0
15.08.2019, 10:02
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2019, 10:02

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Восприятие яркости
Помогите понять Закон Вебера — Фехнер, заключающийся в том, что интенсивность ощущения чего-либо...

Восприятие команд
Пишу командную строку и не могу придумать логику для обработчика команд подкиньте какую-нибудь идею...

проверка на образное восприятие
Я вообще так и не увидел


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.