Мультиплексор не имитирует изменения

Я новичок в FPGA и сейчас пытаюсь реализовать MUX.

В настоящее время мой код выглядит так

entity mux4x1 is
    Port ( S : in std_logic_vector(1 downto 0);
           E : in std_logic_vector(3 downto 0);
           Y : out std_logic);
end mux4x1;

architecture Behavioral of mux4x1 is
signal outputBuff: std_logic;
begin
        Y <= outputBuff; 
        with S select
        outputBuff <=   E(0) when "00",
                        E(1) when "01",
                        E(2) when "10",
                        E(3) when "11",
                        '0' when others;
                              
end Behavioral;

К сожалению, каждый раз, когда я пытаюсь смоделировать код и изменить значения ввода «S», значения E не меняются!

Когда я пытаюсь создать битовый поток, он показывает следующий отчет об ошибках:

Vivado Commands
General Messages
[USF-XSim-62] 'elaborate' step failed with error(s). Please check the Tcl console output or 'C:/Users/John Bryan Valle/Documents/Vivado/Programme/Artix-7/MUX4X1/MUX4X1.sim/sim_1/behav/xsim/elaborate.log' file for more information.

[Vivado 12-4473] Detected error while running simulation. Please correct the issue and retry this operation.

Synthesis
[Designutils 20-970] Unrecognized or unsupported command 'set_property IOSTANDARD LVCMOS33 [get_ports {E[2]}}]' found in constraint file. ["C:/Users/John Bryan Valle/Documents/Vivado/Programme/Artix-7/Lab-1/Lab 1 Full Adder/BASYS 3/Full_Adder_2.xdc":55]

Implementation
Design Initialization
[Designutils 20-970] Unrecognized or unsupported command 'set_property IOSTANDARD LVCMOS33 [get_ports {E[2]}}]' found in constraint file. ["C:/Users/John Bryan Valle/Documents/Vivado/Programme/Artix-7/Lab-1/Lab 1 Full Adder/BASYS 3/Full_Adder_2.xdc":55]

Place Design
DRC
Pin Planning
IO Standard
[DRC BIVC-1] Bank IO standard Vcc: Conflicting Vcc voltages in bank 14. For example, the following two ports in this bank have conflicting VCCOs:  
E[2] (LVCMOS18, requiring VCCO=1.800) and E[0] (LVCMOS33, requiring VCCO=3.300)

[Vivado_Tcl 4-23] Error(s) found during DRC. Placer not run.

Заранее спасибо! :)

введите здесь описание изображения

Обратите внимание, что в сообщении об ошибке говорится: «Шаг 'уточнения' завершился с ошибкой (ошибками). Пожалуйста, проверьте вывод консоли Tcl или файл 'C:.../sim_1/behav/xsim/elaborate.log' для получения дополнительной информации». Таким образом, проработка (грубо говоря, этап компиляции компоновщика) не удалась. Проверьте вышеупомянутый файл для получения дополнительной информации: и, если необходимо, добавьте эту информацию к вопросу.

user_1818839 25.12.2020 16:30

При выборе сообщения об ошибке, соответствующего заголовку («[USF-XSim-62] 'этап уточнения' завершился неудачно с ошибкой(ами)"), какие сообщения об ошибках и предупреждения были обнаружены в файле develop.log? С включением контекстного предложения (library ieee; use ieee.std_logic_1164.all;) перед объявлением сущности ваш код может анализировать (компилировать), разрабатывать (связывать) и запускать (загружать и выполнять) в других симуляторах. Остальные ошибки связаны с файлом XDC, который не соответствует целевому устройству. «Запустить симуляцию» в этот момент.

user1155120 26.12.2020 19:55
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
321
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

E - это вход, поэтому вы не ожидаете, что он изменится сам по себе в моделировании - скорее, изменения в E и S повлияют на Y.

Ответ принят как подходящий

Если ваш тип данных не является типом bit, вы должны использовать его библиотеку. Вы использовали тип данных std_logic_vector. Поэтому вам нужно вызвать реализующую библиотеку. Библиотека называется std_logic_1164. Также нет необходимости определять промежуточный буфер, но его наличие не проблема

library IEEE;
use IEEE.std_logic_1164.all

entity mux4x1 is
  Port ( S : in  std_logic_vector(1 downto 0);
         E : in  std_logic_vector(3 downto 0);
         Y : out std_logic);
end mux4x1;

architecture Behavioral of mux4x1 is
begin
    with S select
    Y <=   E(0) when "00",
           E(1) when "01",
           E(2) when "10",
           E(3) when "11",
           '0'  when others;
                              
end Behavioral;

Спасибо за ваш ответ, теперь моя программа работает успешно!

John Valle 27.12.2020 20:36

Другие вопросы по теме