реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> inout
Methane
сообщение Dec 17 2010, 10:57
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



inout pin;

assign pin = (enable) ? bus_out: 1'bz;
assign bus_in = pin;

В итогде pin сдвинут на такт относительно bus_out а bus_in сдвинут еще на такт относительно pin. Куда копать?
Go to the top of the page
 
+Quote Post
sazh
сообщение Dec 17 2010, 11:05
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Methane @ Dec 17 2010, 16:57) *
inout pin;

assign pin = (enable) ? bus_out: 1'bz;
assign bus_in = pin;

В итогде pin сдвинут на такт относительно bus_out а bus_in сдвинут еще на такт относительно pin. Куда копать?


Наверно enable с выхода триггера получаете
Go to the top of the page
 
+Quote Post
Methane
сообщение Dec 17 2010, 11:13
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(sazh @ Dec 17 2010, 16:05) *
Наверно enable с выхода триггера получаете

А какая разница?
Ну написал я
if(...)begin
enable <= 1'b1;
bus_out <= 1'b1;
end
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 17 2010, 11:37
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Посоветовал бы копать в сторону примитивов типа tri, iobuf, и т.д..
Т.е. явно указывать о двунаправленной ноге.
Go to the top of the page
 
+Quote Post
sazh
сообщение Dec 17 2010, 11:48
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Methane @ Dec 17 2010, 17:13) *
А какая разница?
Ну написал я
if(...)begin
enable <= 1'b1;
bus_out <= 1'b1;
end


Этот кусок ни о чем не говорит. Если это без else, квартус должен выкинуть этот триггер по умолчанию.
Наверно идея далека от реальности.
пример
Код
`timescale 1 ns / 1 ps
module bi_dir
(
input        clk_60,
input        ena,
inout [3:0] data,
input        oe_n
);

reg [3:0] data_rg = 4'd0;

always @(posedge clk_60)
begin
if(ena)        data_rg <= data;
end

assign data = (!oe_n) ? data_rg : 4'hz;

endmodule

Go to the top of the page
 
+Quote Post
Methane
сообщение Dec 17 2010, 11:53
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Не понял. Так что мне написать чтобы задержек не было?
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Dec 17 2010, 12:05
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



А дело не может быть банально в малом соотношении временного шага моделирования и периода тактирования?


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
Methane
сообщение Dec 17 2010, 12:30
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Methane @ Dec 17 2010, 16:53) *
Не понял. Так что мне написать чтобы задержек не было?

Понял. Пробую.

С ALTIOBUF таже фигня.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 17 2010, 12:37
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата
С ALTIOBUF таже фигня.

Покажите текст.
Go to the top of the page
 
+Quote Post
Methane
сообщение Dec 19 2010, 04:03
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Koluchiy @ Dec 17 2010, 17:37) *
Покажите текст.

Ну какой текст может быть? Есть модуль, у него есть oe, пин, вход и выход нарисованый в мегавизарде. На вход модуля подаю сигнал синхронно с oe, (SPI делаю). Подключил signal tap ко входу, выходу и пину. Вижу что на пине сигнал сдвинут на один такт, относительно входа модуля, и выход модуля сигнал еще на 1 сдвинут.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 19 2010, 07:18
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Вы понимаете, эти буферы - очень простая штука, с которыми проблем быть не должно в принципе.
А они есть.
Значит, что-то простое или написано не так, как надо, или работает не так, как надо.

Кстати, какое семейство?
Go to the top of the page
 
+Quote Post
Methane
сообщение Dec 19 2010, 07:22
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Koluchiy @ Dec 19 2010, 12:18) *
Вы понимаете, эти буферы - очень простая штука, с которыми проблем быть не должно в принципе.
А они есть.
Значит, что-то простое или написано не так, как надо, или работает не так, как надо.

Вот то-то и оно. Но. Сигнал-тап говорит совсем иначе. Что там можно напутать я не представляю. Может быть какая-то фишка именно реализации порта. Хотя КАК?

Цитата
Кстати, какое семейство?

Ария вторая. Но фишка в том, что тот кусок должен работать и на максе втором. Не хочется плодить сущностей.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 19 2010, 07:40
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата
Что там можно напутать я не представляю.

Если Вы рассчитываете на помощь, давайте необходимые данные.
А что говорит симулятор?

Цитата
Ария вторая.

А там нет какой-нибудь фишки типа обязательного подключения сигнала разрешения через триггер блока I/O?

Сообщение отредактировал Koluchiy - Dec 19 2010, 07:40
Go to the top of the page
 
+Quote Post
Methane
сообщение Dec 19 2010, 07:53
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Koluchiy @ Dec 19 2010, 12:40) *
Если Вы рассчитываете на помощь, давайте необходимые данные.

Так я уже сказал что мог.

Цитата
А что говорит симулятор?

О! Это идея. Надо сделать небольшой проектик и прогнать только IO в симуляторе.

Цитата
А там нет какой-нибудь фишки типа обязательного подключения сигнала разрешения через триггер блока I/O?

Не встречал. Я просто попробовал на верилоге написать, через assign, потом сгенерил мегавизардом. Одинаково работает. В понедельник буду дальше копать.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 19 2010, 07:55
Сообщение #15


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Так сделайте простейший проект с "глюком" и выложите сюда. Может быть, и выкладывать не придется, все окажется просто. Как говорится, "разделяй и властвуй".
P.S. пока писал, сами к этому пришли sm.gif
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 08:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016