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

 
 
> Асинхронное FIFO Spartan3, Странное поведение
0xFF
сообщение Feb 15 2006, 18:26
Сообщение #1


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

Группа: Свой
Сообщений: 131
Регистрация: 9-01-06
Пользователь №: 12 984



Доброго времени суток.

Необходимо в проекте использовать асинхронное фифо. Чтобы не тратить время на построение модуля, попросил CoreGenerator (fifo_generator_v2_2) об оказании услуги. Установочки были следующими

FIFO_GENERATOR_V2_2 #(
0, // c_common_clock
0, // c_count_type
2, // c_data_count_width
"BlankString", // c_default_value
32, // c_din_width
"0", // c_dout_rst_val
32, // c_dout_width
0, // c_enable_rlocs
"spartan3", // c_family
0, // c_has_almost_empty
0, // c_has_almost_full
0, // c_has_backup
0, // c_has_data_count
0, // c_has_meminit_file
0, // c_has_overflow
0, // c_has_rd_data_count
0, // c_has_rd_rst
1, // c_has_rst
0, // c_has_underflow
0, // c_has_valid
0, // c_has_wr_ack
0, // c_has_wr_data_count
0, // c_has_wr_rst
2, // c_implementation_type
0, // c_init_wr_pntr_val
1, // c_memory_type
"BlankString", // c_mif_file_name
0, // c_optimization_mode
0, // c_overflow_low
1, // c_preload_latency
0, // c_preload_regs
512, // c_prim_fifo_type
64, // c_prog_empty_thresh_assert_val
64, // c_prog_empty_thresh_negate_val
0, // c_prog_empty_type
192, // c_prog_full_thresh_assert_val
192, // c_prog_full_thresh_negate_val
0, // c_prog_full_type
2, // c_rd_data_count_width
256, // c_rd_depth
8, // c_rd_pntr_width
0, // c_underflow_low
0, // c_use_fifo16_flags
0, // c_valid_low
0, // c_wr_ack_low
2, // c_wr_data_count_width
256, // c_wr_depth
8, // c_wr_pntr_width
1) // c_wr_response_latency
inst (
.DIN(din),
.RD_CLK(rd_clk),
.RD_EN(rd_en),
.RST(rst),
.WR_CLK(wr_clk),
.WR_EN(wr_en),
.DOUT(dout),
.EMPTY(empty),
.FULL(full),
.CLK(),
.BACKUP(),
.BACKUP_MARKER(),
.PROG_EMPTY_THRESH(),
.PROG_EMPTY_THRESH_ASSERT(),
.PROG_EMPTY_THRESH_NEGATE(),
.PROG_FULL_THRESH(),
.PROG_FULL_THRESH_ASSERT(),
.PROG_FULL_THRESH_NEGATE(),
.RD_RST(),
.WR_RST(),
.ALMOST_EMPTY(),
.ALMOST_FULL(),
.DATA_COUNT(),
.OVERFLOW(),
.PROG_EMPTY(),
.PROG_FULL(),
.VALID(),
.RD_DATA_COUNT(),
.UNDERFLOW(),
.WR_ACK(),
.WR_DATA_COUNT());
И вот получил я долгожданное фифо, но вот негаразд после первой записи только после нескольких сотен тактов стороны чтения получаю долгожданные данные. Глубину вроде задавал 256, но неужели нужно ждать чтоб получать данные.

ПОдскажите пожалуста, может я где то в установках чего напутал

Заранее благодарен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
0xFF
сообщение Feb 16 2006, 14:42
Сообщение #2


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

Группа: Свой
Сообщений: 131
Регистрация: 9-01-06
Пользователь №: 12 984



Цитата(dsmv @ Feb 16 2006, 14:05) *
Сотня тактов это странно.
Вот сейчас проверил: асинхронное FIFO, данные появились на пятый такт.

Даже сам не знаю что делать, может у меня CoreGenerator работает косо, либо весь ISE 7.1 sp4. Сам понимаю что это бред и так быть не должно. Но оно есть. Поставил опцию First_Word_Fall_Through ему по барабану 256 тактов говорит что мол пустой и на 257 появляется. Ума не приложу что делать.

З.Ы.: Думаю может уже кого попросить мне корку сгенирить.
Go to the top of the page
 
+Quote Post



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

 


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


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