Перейти к содержанию

Помогите С Bidir В Quartus


Cariad

Рекомендуемые сообщения

Доброго всем дня. Есть вопрос по поводу третьего состояния буфера. как бы я не крутил и не переписывал код, при просмотре работы модуля в ModelSim третьего состояния нет, и появляется неопределенное состояние при работе модуля на выход. Книжки, форумы читаю, но это первое знакомство с ПЛИС, до этого только с МК работал, поэтому прошу не бить сильно)). Но очень буду рад тыканью на ошибки.

Ps:то что регистр сам на себя идет....это пока временно, по факту будет регистр на чтение и на запись.

Код модуля:

module data_in_out(
input wire IOR,
input wire IOW,
input wire regIN,
inout DATA,
output reg q);

always @ (negedge IOR)
begin if (regIN==1'b1)
q<=DATA;
end

reg EN_W;
always @*
EN_W=(!IOW&&regIN);

assign DATA= EN_W ?q :1'bZ;

endmodule


Код testbench:

`timescale 1 ns/ 1 ns
module data_in_out_vlg_tst();
// constants										  
// general purpose registers
// test vector input registers
reg treg_DATA;
reg IOR;
reg IOW;
reg regIN;
// wires											  
wire DATA;
wire q;

// assign statements (if any)						  
assign DATA = treg_DATA;
data_in_out i1 (
// port map - connection between master ports and signals/registers  
.DATA(DATA),
.IOR(IOR),
.IOW(IOW),
.q(q),
.regIN(regIN)
);
initial												
begin												  
treg_DATA=1'b0;
IOR=1'b1;												  
IOW=1'b1;
regIN=1'b0;
#50
treg_DATA=1'b0;
IOR=1'b1;												  
IOW=1'b1;
regIN=1'b1;
#10
treg_DATA=1'b1;
IOR=1'b1;												  
IOW=1'b1;
regIN=1'b1;
#10
treg_DATA=1'b1;
IOR=1'b0;												  
IOW=1'b1;
regIN=1'b1;
#50
treg_DATA=1'b0;
IOR=1'b1;												  
IOW=1'b1;
regIN=1'b0;
#50		  
IOR=1'b1;												  
IOW=1'b1;
regIN=1'b1;
#10
IOR=1'b1;												  
IOW=1'b0;
regIN=1'b1;
#50
IOR=1'b1;												  
IOW=1'b1;
regIN=1'b0;
#50
IOR=1'b1;												  
IOW=1'b1;
regIN=1'b1;
#50
IOR=1'b0;												  
IOW=1'b1;
regIN=1'b1;
#200 $finish;		
end													
endmodule

График ModelSim и схема блока прилагается

post-90694-0-68880200-1437422734_thumb.jpg

post-90694-0-14877100-1437422780_thumb.gif

Изменено пользователем admin
Тэг CODE для кого?
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Неопределённое состояние тут возникает из-за того, что на двунаправленный порт DATA ты одновременно подаёшь сигнал снаружи и изнутри. То есть изнутри у тебя идёт z-состояние, а снаружи 1. Сделай в этот момент снаружи тоже z и получишь третье состояние.

Изменено пользователем Vascom
Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Получается в железе все будет нормально? При приёме получим на выходе DATA состояние z?

Просто как я себе все это представляю при приеме данных tri-state должен находится в состоянии z а на шине будут получаемые данные. А при записи шина находится в состоянии z.

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

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Тогда спасибо. Дома попробую переписать testbench. Как то я не подумал что нужно работу самой шины тоже симулировать. Вечером напишу про результат.

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...