Jump to content
Трофим

Как задать исходные состояния ЗУ в проекте

Recommended Posts

Здравствуйте.

Работаю с ПЛИС XILINX Virtex-6 XC6VLX240T-1FFG1156 FPGA. Не знаю как задать исходные состояния запоминающего устройства в проекте. В общем, есть два файла на ассемблере (текстовые с 16-ричными кодами) их нужно загрузить в память ПЛИС, т.е. инициализировать исходные состояния памяти. Есть информация, что это должно быть где-то в Chipscope, но я не могу найти это там.

Кто-нибудь сталкивался с подобной проблемой и как решить?

Share this post


Link to post
Share on other sites

Литиевые ХИТы Fanso: устойчивость к высоким температурам

Литиевые ХИТы для широкого круга применений, в том числе в промышленности, соответствуют требованиям современного рынка и способны работать в самых жестких условиях. Основные требования – это длительность хранения и работы, высокая удельная емкость, а также защита от воздействия таких внешних факторов, как температура и влажность. ЛХИТ превосходят по плотности энергии и нормальному напряжению другие элементы автономного питания: 2,9…3,6 В против 1,2…1,5 В

Читать статью...

Создай в Vivado ROM и укажи файл инициализации для задания начального состояния. Можно и RAM.

Share this post


Link to post
Share on other sites

А у вас нет 32-разрядной версии Vivado? На официальном сайте XILINX.com только 64-разрядные версии.

Share this post


Link to post
Share on other sites

ESP32-DevKitC-VB позволит быстро запустить ваше первое WiFi-приложение

Отладочная плата на основе одного из самых популярных WiFi-модулей Espressif ESP32-WROVER-B позволяет в самые короткие сроки запустить приложение с поддержкой беспроводных стандартов WiFi 802.11b/g/n и Bluetooth Classic/BLE. Ресурсов встроенного в модуль чипа ESP32-D0WD хватит для решения даже очень сложных задач.

Подробнее...

А до этого ты в ISE работал или в чём-то другом? Задать состояние памяти можно в любом туле по работе с FPGA.

Share this post


Link to post
Share on other sites

Можно. Создай память через Block Memory Generator IP. И там в свойствах можно указать файл инициализации. Только в соответствующий формат надо будет преобразовать твой файл.

Share this post


Link to post
Share on other sites

Вроде бы нашел, XLINX ISE Design Suite 13.1 -> ISE Design Tools -> Tools - > Core Generator, это то, что надо?

Создал блочную память, в пункте Init File просит файл с расширением *.coe, а у меня файл *.txt, как его преобразовать?

Share this post


Link to post
Share on other sites

Гугли или смотри на сайте Xilinx что это за формат файла коэффициентов. Он довольно простой, но преобразовать придётся.

Share this post


Link to post
Share on other sites

Как преобразовать *.txt в *.coe в интернете не нашел. Добавил в текстовый файл с шестнадцатеричными кодами 2 строки memory_initialization_radix=2;
memory_initialization_vector=, изменил расширение *.txt на *.coe, Block memory Generator отработал с ошибками и создал в той папке, где лежал файл *.coe файл проекта blk_mem_gen_v6_1.xise и файлы VHD, в частности файл blk_mem_gen_v6_1.vhd.

Что теперь делать с этим файлом? Подтягивать в проект загружать на ПЛИС, и у меня на ПЛИС будет инициилизирован массив сигналов (блочная память)?

Share this post


Link to post
Share on other sites

Все равно ошибка, когда генерирую Block memory пишет 

ERROR:sim - Improperly formatted COE file .\tcom.idm.txt. Parameter assignments

ERROR:sim - should be separated by a ";" character.

ERROR:sim - Found an illegal assignment on line 1.

Похоже *.coe файл некорректный.

Share this post


Link to post
Share on other sites

Подскажите, пожалуйста, как теперь пользоваться сгенерированной памятью в проекте, как её подключать к проекту, как к ней обратиться в VHDL, для чего нужен файл *.ngc, я правильно понимаю, что это как-то связано с этим файлом.

Share this post


Link to post
Share on other sites

Обычно такие модули создают сразу в проекте и подключаются они автоматически. Так же среди сгенерированных файлов должен быть модуль, в котором подробно написано как подключать его порты.

Share this post


Link to post
Share on other sites

А какое расширение у этого файла, в котором описано, как подключать порты.

 

Не нужно цитировать целиком предыдущее сообщение - и так понятно, что ответ на него. К тому же, это запрещено Правилами данного форума - п.II.9. Отредактировал Ваши сообщения.

Edited by Lexus

Share this post


Link to post
Share on other sites

Ну как обычно .vhd или .v, смотря какой язык использовался.

Щас я создам проект в ISE 14.7 и повторю эти шаги.

Какой у тебя в проекте Preferred Language?

Share this post


Link to post
Share on other sites

Итак по шагам.

1. Создаём новый проект.

2. В меню Project жмём New Source.

3. Выбираем тип IP (Core Gen...) и задаём имя, например ram_sample. При этом ставим галочку Add to project. Жмём Next.

4. Выбираем Block Memory Generator. В появившемся окне задаём параметры нашей памяти, файл coe и т.п. Жмём Generate.

5. В иерархии проекта появился ram_sample. Выбери его мышкой. В нижнем окошке появятся опции для него - выбери View HDL Instantiation Template (щёлкни мышкой два раза).

6. Вставляй полученный темплейт в свой код.

Edited by Vascom

Share this post


Link to post
Share on other sites

Сигнал wea - это сигнал разрешения записи и чтения? И какие значения он принимает, если у меня описано: (wea : IN STD_LOGIC_VECTOR(0 DOWNTO 0), он однобитный?

Share this post


Link to post
Share on other sites

wea - это Write Enable, то есть сигнал разрешения записи.

Он однобитный. Если "1" - то идёт запись, если "0", то чтение.

Share this post


Link to post
Share on other sites

А какой сигнал тогда разрешает чтение, вот имеющиеся порты?

    clka : IN STD_LOGIC;
    wea : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
    addra : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
    dina : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
    douta : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)

Share this post


Link to post
Share on other sites

В данном варианте - нет такого отдельного сигнала.

Когда wea в "1", данные со входа dina записываются в память по адресу addra.

Когда wea в "0", на выходе douta появляются данные из памяти по адресу addra.

 

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

Edited by Vascom

Share this post


Link to post
Share on other sites

Как в файле *.ucf задать соответствие вывода std_logic_vector (7 downto 0 ) и 8-ми светодиодам, надо каждый пин вывода сопоставить с ножкой светодиода. 

Share this post


Link to post
Share on other sites

Примерно так:

NET led_out[0] LOC = <номер требуемого пина>;
NET led_out[1] LOC = <номер требуемого пина>;
NET led_out[2] LOC = <номер требуемого пина>;
NET led_out[3] LOC = <номер требуемого пина>;
NET led_out[4] LOC = <номер требуемого пина>;
NET led_out[5] LOC = <номер требуемого пина>;
NET led_out[6] LOC = <номер требуемого пина>;
NET led_out[7] LOC = <номер требуемого пина>;

//Тут задаёшь выходной стандарт пина, например LVCMOS на 3.3В.
NET led_out[*] IOSTANDARD = LVCMOS33;

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Французское кино построено на амплуа их актёров. Стоит посмотреть кто в главной и про фильм всё понятно. Луи де Фюнес вечно играет каких то черезчур эмоциональных нервотиков типа комиссара Жюва. Корчит рожи при разговоре, издавая крякающие звуки. Как сказал бы один наш великий мэтр театра- "Переигрываете лицом, голубчик". За роль браконьера Блеро ему дали кликуху "Дональд Дак". Эти манеры пришли из немого кино, где жестикуляцией требовалось передать эмоции.  Пьер Ришар играет придурковатых идиотов как в фильме Ля каваль де фу. В прокате "Психи на воле" но точное значение - Психушка на прогулке. В Игрушке его "серьёзный" герой ради рабочего места перевоплощается в пубертатного идиота. Хоть и комедия, фильм о смысле капиталистического бытия средне статистического европейца. Сильная актёрская работа Ришара. А вот реально серьёзных ролей, типа Гамлет, в его исполнении я не знаю.  Депардьё, который Жерар а не Гийцом, играет чуваков посерьёзнее, типа "новый русский 90-х". С таким фейсом простачков не бывает. Либо откинувшийся бычара либо беглый из психушки. Ему бы Шрека сыграть... Жан Маре- фантомас форэва. Играет немногословных, серьёзных и конкретных чуваков. У него физия конкретная. Прям французский дон Карлеоне. Ален Делон, Жан Рено и Жан-Поль Бельмондо- французские Рэмбо,  играют таких же серьёзных, конкретных и в основном боевых чуваков. Придурки не их стайл.  А, ещё инфантильно- приглупетых простачков играет этот... как его... с ушами типа "чебурашка"... Вспомнил! Дани Бун. Это ваще не резкий как де Фюнес или Ришар. Двигается словно под курсом психолептиков. Даже была одна роль, где его герой сидел на седативных препаратах (психолептики)... Тёток разбирать не буду. Ну их... амплуа француженок одно на всех.
    • Вот такой вопросик Высота или ширина (не знаю как правильно называть)  ,например 15мм первичка и 20мм вторичка получится сильно это сказывается на инд рассеивания? Нужно стараться подгадывать число витков и даметр провода чтоб высота намоток была одинаковой?
    • здравствуйте. помогите пожалуйста опознать китайские ИС в ЧПУ - расположены между ЭВМ и усилителями шаговых моторов" Спасибо.  
    • Отсутствие роста экономики в его 3 и 4 срок, и не определённость с 5 сроком. Все цели которые стояли на это десятилетия провалены, даже импортозамещение и то по сути сворачивают. https://www.gazeta.ru/business/2019/07/19/12508183.shtml https://www.vedomosti.ru/economics/news/2019/07/19/806875-izmenit-sistemu-importozamescheniya Не понятная система управления на местах, это про не давний цирк в Тулуне специально для президента, это про потёмкинские деревни 21 века и т.д..        https://juve99.livejournal.com/4047729.html
    • x7r  до напряжения 0.5 от номинала терпимо. причем чем больше корпус тем лучше.
    • А вы попробуйте посмотреть то же самое на выключенном БП. Короткий радиоимпульс амплитудой всего пару милливольт (заполнение 20 МГц - это звон на частоте среза усилителя осциллографа или щупа) - это скорее всего наводка. Например, от ближайшего Wi-Fi роутера. Заодно посмотрите, какой период у этого сигнала.
    • Василичь! Ты никогда не устанешь дурачком прикидываться. Я тебя просил ГОСТ, где ясным по белому написано - мощность меряем при 10% КНИ. Ты мне, в ответ,, приводишь ГОСТ, описывающий методику измерения. В нём нет ни одной цифры не при искажения, ни про мощность. Я тебя спросил - сколько Вольт, по стандарту, должно быть в розетке? А ты мне - напряжение измеряется вольтметром.  Не надо считать всех вокруг идиотами. Ни одного ГОСТа, где есть указание мерять при 10% искажений ты не привёл. Ни тогда, не сейчас. Так что, повторю - хватит разводить срач по новой. Тебе не нужны стандарты? Вот и не пользуйся ими. Меряй, что хочешь, чем хочешь, как хочешь. Только пургу свою втюхиваай твоим знакомым аудиодебилам. Незачем выносить её на технический форум. Не тупи, Василичь! Ну, хоть раз в жизни! Я уже приводил страницу из ГОСТ 24388-88 - Усилители сигналов звуковой частоты бытовые. Общие технические условия. Там ясным по белому написано - В скобках приведены значения для усилителей на электровакуумных приборах. Специально для василичей, поясню - электровакуумные приборы - это радиолампы. Так что, ГОСТ охватывает обе категории усилителей. Для высшей группы сложности написано  - по ТУ. Но , Василичь - по ТУ не означает 100500% Если ты приглядишься, то в транзисторных усилителях требования по КНИ ужесточаются в 10 раз, при переходе в более высокий класс. Для ламп, увы, подобное невозможно. Поэтому, переход от 2-й группы сложности к 1-й, для ламповых усилителей требует снижения КНИ всего в 2 раза. Ты пишешь Да, написано. А теперь, хоть на секунду, попробуй выключить дурачка и подумай. Принесли с завода усилитель на аттестацию. Хотят,  по высшей группе сложности. Померяли, а там твои любимые 10% КНИ. И что, его аттестуют? А, фиг вам! По параметрам ГОСТа, такой усилитель не катит даже на вторую группу. А ГОСТ государственный, Василичь, имеет главенство над ТУ заводским. Не может завод, в ТУ, написать что попало. И, если они хотят аттестовать усилитель по  высшей группе сложности, т и искажения у него должны быть меньше, чем у 1-й. Смотрим ГОСТ - меньше 0,5%. А, уж, будет в ТУ 0,3%, 0,1%, или 0,05% - это, действительно, дело завода. Но 2, 5 или 10% там быть никак не может! Завод имеет право, в ТУ, указывать любые цифры, но они не могут быть хуже, чем требует ГОСТ. Иначе, официально, никто не даст никакой группы сложности. А выпускать продукцию, не соответствующую ГОСТу, в нормальном государстве, никто не позволит. Или же, выпускайте по заводскому ТУ. Тогда не заикайтесь про группу сложности. Просто пишите - усилитель "Василёк". А от этого Василичь, и цена идёт. Так что, выгодно заводу группу иметь. Что б было 001 в названии. Но, опять же, топором такой усилитель не сделаешь. Тут культура производства нужна. И, разработчики нормальные. И, технологи. И, рабочие. И, понятно, материалы. Возьми, к примеру,  усилитель "Электрон-20". В паспорте мощность 20 Ватт указана при КНИ 2% Это не ГОСТовская величина. Поэтому, скромно написано Вот так вот. Нет ГОСТа, нет группы сложности в названии. Это то, что по заводским ТУ. Для тех, кто не способен сделать нормально. Соответствовать ГОСТу. А кушать хочет. Я выкладывал скрины измерений сигнала реального усилителя при 1-м и 10% КНИ   Я думаю, люди сами смогут разобраться, какой из уровней искажений больше соответствует понятию качество. Как думаешь, Василичь, мы делаем усилители для качественного звука, или для греть утюги? Потому что, твой усилитель с 10% THD,  ни на что другое не годится. Ты же сам писал Скажи, на милость, Василичь - зачем мне мерять мощность, при которой невозможно слушать ламповый усилитель? О чём она мне скажет? Только о мощности утюга, который такой усилитель сможет нагреть. Так я, Василичь, в отличие от тебя, строю усилители не для утюгов, а для качественного звука. В своём усилителе я указал мощность, даже не при 1-м,  при 0,3% КНИ. По собственному ТУ, если угодно. Что не противоречит цифре ГОСТа, применительно к усилителям первой группы сложности. А, поскольку моё ТУ превышает требования ГОСТа для первой группы, я, вполне обоснованно, могу сказать, что мой усилитель соответствует требованиям ГОСТ 24388-88 для высшей группы сложности. По ТУ.
×
×
  • Create New...