Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как такое может быть ?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
DASM
На tri-state bridge прицеплено устройство. В verilog его описании стоит assign avs_data[31:0] = (avs_outputenable_n) ? {16'hzzzz,outLatch} : 32'hzzzzzzzz;
Ну то есть контролируем только OE с шины avalon. Работоспособность не проверял, но NIOS по крайней мере виден отладчику. Потом пишу
assign avs_data[31:0] = (!avs_read_n && !avs_outputenable_n) ? {16'hzzzz,outLatch} : 32'hzzzzzzzz;, то бишь хочу чтобы и OE и сигнал read учитывался. Система виснет наглухо (Eclipse пишет, что не может остановить проц). Q10.1. Кстати посмотрел RTL - ужаснулся, он куда-то пооткусывал кучу буферов, хотя они однозначно нужны (avalon export). Q9 сгенрел нормальный на вид RTL , с работоспособностью завтра буду разбираться. Вообще это хоть правильная конструкция "(!avs_read_n && !avs_outputenable_n) " ?
des00
Цитата(DASM @ Jan 26 2011, 10:27) *
assign avs_data[31:0] = (avs_outputenable_n) ? {16'hzzzz,outLatch} : 32'hzzzzzzzz;
...
assign avs_data[31:0] = (!avs_read_n && !avs_outputenable_n) ? {16'hzzzz,outLatch} : 32'hzzzzzzzz;

хммм, а вы с полярностью сигналов не напутали? в первом случае данные буду выданы на шину когда avs_outputenable_n == 1, а во втором когда avs_read_n == 0 и avs_outputenable_n == 0
DASM
да, кажется напутал, но во втором случае то почему шина виснет и проц не виден ?
vadimuzzz
Цитата(DASM @ Jan 27 2011, 13:45) *
да, кажется напутал, но во втором случае то почему шина виснет и проц не виден ?

кто-то занял системную шину и не дает другим
DASM
так в том и дело, что этот кто-то и есть мой модуль, если assign avs_data убрать - все OK. Но вот вопрос - почему же он занимает шину, ведь при неактивных read_n и output_enable я делаю assign к 32'hZZZZZZZZ
vadimuzzz
ну, посимулировать это дело или сигналтапом посмотреть. да, еще вспомнил - был у меня один самописный компонент с придурью, затирал память программ ниоса, тоже все наглухо вешалось sm.gif
DASM
да мой компонент по-сути проходной - сплошной export и все.
Stewart Little
Цитата(DASM @ Jan 27 2011, 10:57) *
так в том и дело, что этот кто-то и есть мой модуль, если assign avs_data убрать - все OK. Но вот вопрос - почему же он занимает шину, ведь при неактивных read_n и output_enable я делаю assign к 32'hZZZZZZZZ

Внутри ПЛИСа (то биш на авалоне) Z-состояний не бывает. Может в этом дело?
Adv
Цитата(DASM @ Jan 27 2011, 10:57) *
так в том и дело, что этот кто-то и есть мой модуль, если assign avs_data убрать - все OK. Но вот вопрос - почему же он занимает шину, ведь при неактивных read_n и output_enable я делаю assign к 32'hZZZZZZZZ



А он выборку имеет (select)? Или наглухо выбран?? Тут остальное уже всё рассказали. Посмотрите прикрепл. файл. Может, поможет. Он - очень простой. И как раз на улицу шину делает 32-х разрядную двунаправленную.
DASM
Выборку имеет. Вобщем откатил проект с Q10_1 на Q9_0 - все заработало нормально
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.