|
Память на плис, реализация памяти на VHDL или Coregen |
|
|
|
 |
Ответов
|
Sep 17 2015, 09:06
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Anton1990 @ Sep 17 2015, 08:21)  При использовании FIFO созданного в Coregeneratore результат значительно лучше (практически нет глюков). Я для таких целей применяю библиотечный компонент Ксайлинкса. Он легко устанавливается в проект и он достаточно описан... Да и текста в проекте значительно меньше... Про клоки в Вашем тексте все понятно, а вот про rd'event не понятно... Что это? Это частота или внешние сигналы? Для PCI Вы должны иметь их клоки и сигналы чтения. Так вот, сигналы чтения надо применить как "разрешение", а не как тактовые. Иначе и пойдут глюки... Еще где-то надо учесть латентность... А еще взять FIFO у которого с одной стороны 16 бит, а с другой 32... Это тоже очень просто...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Sep 17 2015, 09:21
|
Частый гость
 
Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584

|
Цитата(iosifk @ Sep 17 2015, 12:06)  Я для таких целей применяю библиотечный компонент Ксайлинкса. Он легко устанавливается в проект и он достаточно описан... Да и текста в проекте значительно меньше... Про клоки в Вашем тексте все понятно, а вот про rd'event не понятно... Что это? Это частота или внешние сигналы? Для PCI Вы должны иметь их клоки и сигналы чтения. Так вот, сигналы чтения надо применить как "разрешение", а не как тактовые. Иначе и пойдут глюки... Еще где-то надо учесть латентность...
А еще взять FIFO у которого с одной стороны 16 бит, а с другой 32... Это тоже очень просто... Ну с коркой фифо я уже говорил работает лучше. Хочу узнать свои проблемы. Сигнал Rd это клок - по преднему фронту данные выставляются на шину PCI. Как таковой клок шины я не использую. Цитата(Maverick @ Sep 17 2015, 12:10)  там кроме rd'event есть еще if clk'event and clk='1' and q_thres='0' then if clk'event and clk='1' and ce='1' then
я понимаю что q_thres, се - сигналы разрешения, но нужно соблюдать правила...
из-за этого и спрашиваю что ТС описал или хотел описать А что собственно в этих строчках ненравиться? О каких правилах речь?
|
|
|
|
|
Sep 17 2015, 12:45
|
Частый гость
 
Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584

|
Цитата(iosifk @ Sep 17 2015, 12:29)  Тогда и говорить не о чем... Если данные не согласованы с клоком шины PCI, то результат как раз таким и будет... И еще раз. Я Вам объясняю, что у Ксаййлинкса есть библиотечные компоненты, которые и надо использовать в таких случаях. Без всяких корегенов... А из c:\Xilinx\14.7\ISE_DS\ISE\verilog\src\unisims\.. Сигнал Rd от шины совершенно непричем. Ведь я его использую и с корегеновской коркой. Да и к томуже если я делаю память не на 65536 отсчетов на например 1024 то проблем никаких не возникает. Как я понимаю проблема имеено в размешении блоков памяти по кристалу при большом используемом количестве. Ну может я, конечно, и ошибась где-то. Но на основе своего опыта (довольно большого) могу сказать что элементы сгенерированные корегеном работаю стабильнее будьто память, простые умножители или фильтры построенные на умножителях. Разумного объяснения у меня этому нет. Цитата(Maverick @ Sep 17 2015, 12:25)  пример
[code]-- Following is the equivalent VHDL code for a 4-bit register with a positive-edge clock, asynchronous set and clock enable. library ieee; use ieee.std_logic_1164.all; Вы намекаете что в одном условии нельзя записывать условие клока и разрешения if clk'event and clk='1' and ce='1' then ... а нужно так if ce='1' then if clk'event and clk='1' then ... или о чем речь?
|
|
|
|
|
Sep 17 2015, 13:06
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(Anton1990 @ Sep 17 2015, 15:45)  Вы намекаете что в одном условии нельзя записывать условие клока и разрешения if clk'event and clk='1' and ce='1' then ... а нужно так if ce='1' then if clk'event and clk='1' then ... или о чем речь? я намекаю на Код if (C'event and C='1')then if (CE='1') then + Код if rd'event and rd='1' then Ard <= Ard + 2; --адреса преребираем через два т.к. шина PCI 32 разряда end if; для синтезатора это счетчик работающий на тактовой частоте rd мне не понятно, например, почему сигнал q_thres окончания наполнения данными в память, не передается на схему вычитки в PCI через синхронизирующие регистры? Как я понял по q_thres начинается вычитка данных из памяти. Мне не понятен обмен готовности выполнения различных процессов и/или синхронизации работы схем: - запись данных в блочную память с АЦП - вычитка данных из блочной памяти для PCI PS Ваше описание мне тяжело читать. Разнесите в разные процессы - запись данных в блочную память с АЦП - вычитка данных из блочной памяти для PCI
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Sep 17 2015, 13:12
|
Частый гость
 
Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584

|
Цитата(Maverick @ Sep 17 2015, 16:06)  я намекаю на Код if (C'event and C='1')then if (CE='1') then А есть разница ?
|
|
|
|
Сообщений в этой теме
Anton1990 Память на плис Sep 17 2015, 05:21 Maverick Цитата(Anton1990 @ Sep 17 2015, 08:21) Вс... Sep 17 2015, 05:28 Krys Цитата(Maverick @ Sep 17 2015, 12:28) дву... Sep 17 2015, 06:03 blackfin Цитата(Anton1990 @ Sep 17 2015, 08:21) Си... Sep 17 2015, 05:41 Golikov A. Цитатана двухпортовой памяти с независимыми клокам... Sep 17 2015, 06:18 blackfin Цитата(Golikov A. @ Sep 17 2015, 09:18) д... Sep 17 2015, 06:24 Golikov A. в том что скачиваться данные из памяти могут на од... Sep 17 2015, 06:52 Anton1990 Цитата(Golikov A. @ Sep 17 2015, 09:52) в... Sep 17 2015, 08:07 Golikov A. ЦитатаЕще раз. В память данные пишутся на 200 МГц
... Sep 17 2015, 08:22 Anton1990 Цитата(Golikov A. @ Sep 17 2015, 11:22) к... Sep 17 2015, 08:36  Maverick Цитата(Anton1990 @ Sep 17 2015, 11:36) Ни... Sep 17 2015, 09:02 Maverick Цитата(iosifk @ Sep 17 2015, 12:06) Про к... Sep 17 2015, 09:10  Maverick Цитата(Anton1990 @ Sep 17 2015, 12:21) А ... Sep 17 2015, 09:25    iosifk Цитата(Anton1990 @ Sep 17 2015, 15:45) Си... Sep 17 2015, 13:06      Maverick Цитата(Anton1990 @ Sep 17 2015, 16:12) А ... Sep 17 2015, 13:22     Anton1990 Цитата(Maverick @ Sep 17 2015, 16:06) я н... Sep 17 2015, 13:48      Krys Цитата(Anton1990 @ Sep 17 2015, 20:48) Ту... Sep 18 2015, 08:05 Golikov A. есть, потому что синтезаторы анализирует текст на ... Sep 17 2015, 13:25 Golikov A. строго говоря я думаю что именно в этом случае син... Sep 17 2015, 13:59 Anton1990 Цитата(Golikov A. @ Sep 17 2015, 16:59) с... Sep 17 2015, 14:41 Golikov A. ЦитатаВообще схема отработанная годами. Память в п... Sep 17 2015, 18:36 iosifk Цитата(Golikov A. @ Sep 17 2015, 21:36) т... Sep 17 2015, 19:16 Anton1990 Цитата(Golikov A. @ Sep 17 2015, 21:36) т... Sep 18 2015, 06:08  Maverick Цитата(Anton1990 @ Sep 18 2015, 09:08)
О... Sep 18 2015, 06:56 Golikov A. ЦитатаЕсли частота выставления адреса чтения очень... Sep 18 2015, 06:25
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|