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

 
 
> Вопрос по меге dcfifo, откуда лишних два clock'а
tvv
сообщение Jul 6 2005, 15:57
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 8-10-04
Пользователь №: 824



Может я что-то не заметил, но - делаю пустой проект, MegaWizard'ом рожаю двух клоковое fifo, делаю vwf с повторением примера от Wizard и, с удивлением, вижу в симуляторе смещение q от фронта rdreq не на 2 клока, а на 4! sad.gif Quartus 5.0 не web. Для меня эти два клока ой как не лишнии! Может кто с этим dcfifo боролся? Или надо забыть об использовании данной мега и все писать ручками?
Прикрепленное изображение

Прикрепленное изображение

Прикрепленный файл  fifo160.rar ( 3.27 килобайт ) Кол-во скачиваний: 122
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sazh
сообщение Jul 7 2005, 19:01
Сообщение #2


Гуру
******

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



Я досконально с этим фифо не разбирался, потому что использую только одноклоковое фифо.
Если у Вас раздельные клоки по записи и чтению и они не синхронны, без задержки по чтению не обойтись. Да и по ресурсам это больше, чем одноклоковое.
В одноклоковом фифо я использую структуру типа

module in_out (global_clk, in_clk, input_data, inout_clk, out_clk, out_data);

output [7:0] out_data;
output out_clk;

input global_clk;
input [7:0] input_data;
input in_clk;
input inout_clk;

reg [7:0] out_data;
reg [7:0] in_data;
reg [1:0] sdvig_in_rg;
reg [1:0] sdvig_out_rg;

wire e_wr_rg;
wire e_rd_rg;

assign out_clk = inout_clk;

always @ (posedge global_clk)
begin
sdvig_in_rg <= {sdvig_in_rg[0], in_clk};
sdvig_out_rg <= {sdvig_out_rg[0], inout_clk};
end

assign e_wr_rg = sdvig_in_rg[0] & ~sdvig_in_rg[1];
assign e_rd_rg = ~sdvig_out_rg[0] & sdvig_out_rg[1];

always @ (posedge global_clk)
begin
if (e_wr_rg == 1'b1)
in_data <= input_data;
if (e_rd_rg == 1'b1)
out_data <= in_data;
end

endmodule
И никаких задержек по чтению.
Go to the top of the page
 
+Quote Post



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

 


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


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