ddlab
258 subscribers
29 photos
20 files
144 links
Лабораторія цифрового дизайну.
Цифрова схемотехніка, Verilog/VHDL українською.
Download Telegram
Слава Україні!
Продовжую методично викладати відео по дискретній математиці на ютуб канал Лабораторії цифрового дизайну. Сьогодні друга частина лекції по логічним функціям і ще одна нудна її частина про те, що таке логічна функція і як її визначити.
І що було по веселіше автору каналу, опис відео робив чатом GPT – спочатку зробив автоматичні субтитри, потім витяг звідти короткий зміст і обробив, щоб не було дуже кострубато.
Саме відео тут: https://youtu.be/3aKSQrrcGVg
Далі вже буде завтра зранку – викладу чергову частину.

#ddLab_YouTube
👍1
Вводимо нову розвагу – п’ятничний квіз.
Сьогодні про логічні функції у Verilog.
Умова: data = 3’b000;
Питання: Чому дорівнює !data
👍4
Правильна відповідь на питання - 1'b1.
Оператор ! у Верілог - це однобітний оператор і він працює з однобітними значеннями. І результат у нього теж однобітний.
Для тих, хто хоче розібратись - дивіться відео про логічні оператори у Verilog: https://youtu.be/bxCC2_UsV6c
🔥3
Слава Україні!
Як показало опитування, важливою є книга про фічі Verilog. Найкращою з них є книга Стюарта Сазерленда про фішки Verilog та SystemVerilog: Stuart Sutherland, Don Mills «Verilog and SystemVerilog Gotchas: 101 Common Coding Errors and How to Avoid Them»
Як зрозуміло з назви структура книги проста – проблема та її пояснення. Саме в цій книзі можна прочитати про особливості роботи Verilog з операндами різної розрядності. Якщо ви дивились відео, на яке був лінк у попередньому пості, то там на слайдах є посилання на конкретні розділи цієї книги.
Оцінка – 10 з 10. Але! Не рекомендується читати без досвіду написання коду на Verilog.
Сама книга на гуглодиску. Гарного читання.

А в якості додатку – ще пара статей від Стюарта Сазерленда про Gotchas.

#book
1
Слава Україні!
Всі звикли, що мікросхеми повинні бути зі складними функціями та великою кількістю транзисторів. Але є чудові маленькі мікросхеми SN74LVC1G34 Single Buffer Gate розміром 1х1 мм, які виконують просту функцію повтору змінної. Про це говоримо у цьому відео: https://youtu.be/Xr0QhT4wfu4

Логічні функції однієї змінної. Функції константи логічний нуль, логічна одиниця. Повторення змінної. Як ці функції реалізуються в реальному житті. Мікросхема повторювача сигналу.

#ddLab_YouTube
1
Доброго вечора, шановне панство.
Оскільки все як завжди, то без всіляких форм та оголошень.

Завтра на 16 годину починаємо розмову зі студентами Чернігівської політехніки про архітектуру процесора.
Плани великі та надовго.
В цьому сезоні - до кінця навчального року - рухаємось по Харісах 2022 року по архітектурі простого RICS V. Наступного сезону - десь з середини вересня - йдемо вже по матеріалам MIPS в конвеєрний RICS V.
Оскільки з наших студентів маю дуже різну групу, то починаємо з самого простого. Завтра загальна розмова про що таке процесор і як воно все виглядає і як загалом працює в мікропроцесорній системі.

Всі зустрічі проводимо онлайн і Microsoft Teams. Перерв на тривогу не буде - кожен вирішує свою безпеку сам - всі люди дорослі.
Доступ буде відкритий для всіх, але можу видаляти за недостойну поведінку.

Тривалість зустрічі - 1 година.

Запис буде, але коли буде викладений і у якому вигляді - хз. Бо то не за планом.

Слава нації!

https://teams.microsoft.com/l/meetup-join/19%3ameeting_OGEwNmY3NmYtOWZmZi00YTMwLTg3ZDgtMTA2MjY0YzI1YTNl%40thread.v2/0?context=%7b%22Tid%22%3a%2233c7147e-9374-4a05-a175-43367185b3f7%22%2c%22Oid%22%3a%22d0143d5d-9804-4687-987f-94de584b8de8%22%7d
👍8
Знову п’ятничний квіз.

Є синхронний D тригер з асинхронним скиданням. Сигнали clk – тактовий сигнал d – дані, запис по фронту тактового сигналу rst_n – асинхронне скидання. Активний рівень 0. Що має бути у списку ініціалізації блоку always?
Anonymous Quiz
12%
always @(posedge clk)
64%
always @(posedge clk or negedge rst_n)
9%
always @(clk, rst_n)
6%
always @(clk, d, rst_n)
9%
Коли ти заспокоїшся? Сьогодні п’ятниця
👍2
Слава Україні!
Для тих, хто вчора не вгадав або не знав правильну відповідь у квізі – правильна відповідь always @(posedge clk or negedge rst_n).
Якщо хочеться пояснення чому так – ось тут є відео на цю тему: https://youtu.be/pj89G5OYZOM
🔥2
Слава Україні!

Два відео по тестуванню тригерів на Verilog.
Перше відео – простий тест JK-тригера з дуже простим тестом, що генерує сигнали за допомогою затримки. Використовуємо блок always для генератора тактової частоти і команду monitor для виводу сигналів у консоль.
Простий тест JK тригера: https://youtu.be/nDohunppLaY

І останнє відео по тригерам та Verilog.
Тестуємо D-тригер з асинхронним сигналом скидання. Пишемо тестbench, який використовує псевдовипадкові числа для генерації тестових сигналів. Для цього використовуємо функцію urandom_range для генерації випадкових сигналів скидання та даних.
Оскільки вся ця конструкція генерує псеводовипадкові числа, то переходимо з чистого Verilog у SystemVerilog і задаємо значення зерна генератора випадкових чисел для отримання різних результатів.
Тест D тригера на Verilog з рандомізацією: https://youtu.be/Hr3x4Pb-6aU
Залишайте свої запитання в коментарях до відео.

#ddLab_YouTube
🥰3👍2
Нагадую, що сьогодні на 16 годину говоримо про команди асемблера RV і спробуємо дійти до перших блоків в архітектурі.

https://teams.microsoft.com/l/meetup-join/19%3Ameeting_MDJkMzk2MDEtOGUzMS00ZDgzLWExNGEtMDdkZDRkMTVhMmZi%40thread.v2/0?context=%7B%22Tid%22%3A%2233c7147e-9374-4a05-a175-43367185b3f7%22%2C%22Oid%22%3A%22d0143d5d-9804-4687-987f-94de584b8de8%22%7D
Слава Україні
Продовжую заповнювати курс цифрової схемотехніки відео. Сьогодні перша частина лекції про лічильник.
https://youtu.be/UbsAX5qcleQ
У відео розказую, що таке лічильник і як він працює, пояснюю принцип роботи простих лічильників з послідовним перенесенням, їх переваги, недоліки та способи реалізації Лічильник - це пристрій, який послідовно рахує від 0 до деякого числа. Він характеризується коефіцієнтом рахування (MOD) - максимальним числом станів. Розглянуто асинхронний лічильник з послідовним перенесенням (Ripple Counter), де кожен розряд по черзі передає перенесення на наступний. Показано його схему на Т-тригерах і часові діаграми роботи як для ідеального випадку, так і з урахуванням затримок. Виявлено проблеми низької швидкодії та затримок при збільшенні розрядності. Продемонстровано, що лічильник діє як дільник частоти - кожен розряд ділить частоту вдвічі. Наведено приклад мікросхеми 74НС93 з чотирма розрядами. Також показано схему віднімаючого лічильника, який схожий на додаючий, але виводить інверсні значення розрядів. Згадано про можливість реверсивних лічильників, які можуть як додавати, так і віднімати.
Залишайте свої запитання в коментарях до відео.

#ddLab_YouTube
🔥3
Знайдіть помилку в коді

01 module lab5
02 (
03 input [1:0]d,
04 input load,
05 output reg [1:0]q,
06 output reg [1:0]q_n
07 );
08
09 always @(*) begin
10 if (load == 1’b1) begin
11 q = d;
12 q_n = !d;
13 end
14 end
15
16 endmodule


Для тих, хто хоче відкомпілювати – код без нумерації рядків у першому коментарі
👍2
Результат компіляції наведеного вище коду у Quartus.