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

 
 
> M9K Altera не записывает некоторые данные, Cyclone 4 память через altsyncram
Golikov A.
сообщение Oct 9 2015, 15:36
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Всем привет!

Надо было сделать параметризуемую память, собираемую из банков М9К циклона. Сделали через altsyncram

CODE
altsyncram #(
.operation_mode ("BIDIR_DUAL_PORT"),
.width_a (DATA_WIDTH_A),
.width_byteena_a (DATA_WIDTH_A / BYTE_SIZE),
.width_b (DATA_WIDTH_B),
.widthad_a (ADDR_WIDTH_A),
.widthad_b (ADDR_WIDTH_B),
.numwords_a (2**ADDR_WIDTH_A),
.numwords_b (2**ADDR_WIDTH_B),
.outdata_reg_a ("UNREGISTERED"),
.outdata_reg_b ("UNREGISTERED"),
.ram_block_type ("M9K"),
.intended_device_family ("Cyclone IV E"),
.lpm_type ("altsyncram"),
.read_during_write_mode_mixed_ports ("DONT_CARE")
)
altsyncram_inst (
.address_a (addra),
.clock0 (clka),
.clocken0 (1'b1),
.data_a (dina),
.wren_a (wea),
.byteena_a (true_bea),
.q_a (douta) ,

.address_b (addrb),
.clock1 (clkb),
.clocken1 (1'b1),
.data_b (dinb),
.wren_b (true_web),
.q_b (doutb)
);


На тестах вот какая штука вылезла, если писать по порту А и читать по порту В все ОК, как это не делай.
Если писать по порту В удерживая врайт енайбл и каждый такт выдавая новые данные, а читать это по порту А, то же все хорошо.
Если писать по порту В, выдавая сигнал данные и адрес на 1 такт, а потом 2 такта пауза, то каждые вторые данные не записываются в память.
То есть в 0, 2, 4, 6, ... ячейки данные сохраняются а в 1, 3, 5, остаются старыми...

И в чем прикол я так и не понял... есть у кого какие мысли?

Повторили опыт с памятью генерированной мегавизордом, таже фигня,
Если до 1 клокового врайтенайбла за такт выставить данные и адрес, запись пройдет, и это только по порту В
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Oct 13 2015, 10:37
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



прописал в настройках квартуса, в части симулятора, для VHDL был зажат на 100 ps, сказал делать верилог выходным файлом и поставил 1 ps
прописал `timesacle 1ns / 1ps в файле тестбенча

писать по порту B все так же нельзя...


Код
@(posedge clkb)
      begin
         addrb = i;
         dinb = 100*i;
         web = 1;
     end
@(posedge clkb)
     web = 0;


что из за блокирующих присвоений все ломается? Да не может того быть, до следующего фронта по которому все защелкниться еще как до луны... там частота то детская 100 МГц....
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Golikov A.   M9K Altera не записывает некоторые данные   Oct 9 2015, 15:36
- - DuHast   Метастабильность? Уверен, что если, для теста, буд...   Oct 9 2015, 19:08
- - Golikov A.   клок один (входа 2 подано одно и тоже), запись и ч...   Oct 9 2015, 19:37
|- - DuHast   Цитата(Golikov A. @ Oct 9 2015, 22:37) Ес...   Oct 11 2015, 13:13
- - Golikov A.   Да проблема на симуляции, сейчас в железе трудно д...   Oct 12 2015, 06:46
- - Golikov A.   В общем и целом наблюдаем следующую вещь Берем 2 ...   Oct 12 2015, 12:07
- - warrior-2001   А что за симулятор? Сдается мне, что наблюдается а...   Oct 12 2015, 13:05
- - Golikov A.   Симулятор был квеста, пробовали что за зверь Модел...   Oct 12 2015, 20:31
- - warrior-2001   Если квеста - то принт в консоли вас спасет. В пер...   Oct 13 2015, 05:13
- - Golikov A.   принт в консоли ничего особенного не пишет. Модуль...   Oct 13 2015, 06:48
- - Golikov A.   --- upd нашел странный варнинг в консоли ЦитатаP...   Oct 13 2015, 07:59
- - Golikov A.   на что ругается понятно, Questa не осилила wand с...   Oct 13 2015, 09:00
- - warrior-2001   Цитата(Golikov A. @ Oct 13 2015, 09:48) п...   Oct 13 2015, 10:11
- - warrior-2001   оба @(posedge clkb) - это один момент времени...   Oct 13 2015, 11:09
- - Golikov A.   почему один и тот же момент? @(posedge clkb) - зап...   Oct 13 2015, 11:32
- - warrior-2001   Хочется посмотреть весь ТБ. Не хочется по кускам к...   Oct 14 2015, 04:55
- - Golikov A.   да он в первом сообщении вроде как есть... web ...   Oct 14 2015, 08:09
- - Golikov A.   Во всем тестбенче блокирующие присвоения переписал...   Nov 3 2015, 08:58
- - XVR   Видимо потому что все присваивания и сэмплинг сигн...   Nov 3 2015, 11:06
- - Golikov A.   возможно... то есть видать я разошелся с моделью, ...   Nov 3 2015, 11:42


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 05:13
Рейтинг@Mail.ru


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