Помогите с кодом . Хочу разобраться, но не понимаю проблему

Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить
Родился
Сообщения: 1
Зарегистрирован: Вс дек 25, 2022 19:57:50

Сообщение itisme2488 »

Нужно реализовать с помощью Verilog HDL уравнение
Вторая картинка код, вылезают ошибки, как исправить?
Заранее спасибо за помощь
Вложения
Снимок экрана (294).png
(114.56 КБ) 237 скачиваний
фффффф.png
(28.03 КБ) 197 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Почему у вас вход KEYs, а присванивание идёт по KEY?
Какой сигнал идёт на вывод rst_n?
Что такое и откуда взялось LED[0]?

В общем, смотрите что нагенерил Матлаб для такой схемы:
Изображение
Спойлер

Код: Выделить всё

// -------------------------------------------------------------
// 
// Generated by MATLAB 9.1 and HDL Coder 3.9
// 
// 
// -- -------------------------------------------------------------
// -- Rate and Clocking Details
// -- -------------------------------------------------------------
// Model base rate: 0
// Target subsystem base rate: 1.#INF
// 
// -------------------------------------------------------------


// -------------------------------------------------------------
// 
// Module: lab3
// Source Path: lab3/lab3
// Hierarchy Level: 0
// 
// -------------------------------------------------------------

`timescale 1 ns / 1 ns

module lab3
          (
           KEYs,
           LED_0
          );



  input   [3:0] KEYs;  // ufix4
  output  LED_0;

  wire dtc1;  // ufix1
  wire X1;  // ufix1
  wire dtc1_1;  // ufix1_E1
  wire X2;  // ufix1
  wire dtc1_2;  // ufix1_E2
  wire X3;  // ufix1
  wire Logical_Operator3_out1;
  wire X4;  // ufix1
  wire Logical_Operator1_out1;
  wire Logical_Operator5_out1;
  wire Logical_Operator4_out1;
  wire Logical_Operator6_out1;
  wire Logical_Operator2_out1;
  wire Logical_Operator7_out1;
  wire Logical_Operator_out1;


  assign dtc1 = KEYs[0];



  assign X1 = dtc1;



  assign dtc1_1 = KEYs[1];



  assign X2 = dtc1_1;



  assign dtc1_2 = KEYs[2];



  assign X3 = dtc1_2;



  assign Logical_Operator3_out1 = X3 & (X1 & X2);



  assign X4 = KEYs[3];



  assign Logical_Operator1_out1 = Logical_Operator3_out1 | X4;



  assign Logical_Operator5_out1 =  ~ Logical_Operator1_out1;



  assign Logical_Operator4_out1 = X4 & (X3 & (X1 & X2));



  assign Logical_Operator6_out1 =  ~ Logical_Operator4_out1;



  assign Logical_Operator2_out1 = X3 | X4;



  assign Logical_Operator7_out1 =  ~ Logical_Operator2_out1;



  assign Logical_Operator_out1 = Logical_Operator7_out1 | (Logical_Operator6_out1 | (Logical_Operator5_out1 | X1));



  assign LED_0 = Logical_Operator_out1;

endmodule  // lab3

Последний раз редактировалось Gudd-Head Пн дек 26, 2022 18:37:27, всего редактировалось 1 раз.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

и разве Quartus не расшифровывает ошибки?
Контактная информация:
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Ср сен 02, 2015 07:47:20

Сообщение HardWareMan »

В логических операциях вместо ! (восклицательный знак) следует использовать ~ (тильда).
Реклама
Эиком - электронные компоненты и радиодетали
Ответить

Вернуться в «ПЛИС»