Напишите данные AXI4 нанесенные на карту памятью рабы
writememory( записывает все слова, указанные в mem,addr,data)data, начиная с адреса, указанного в addr, а затем приращение адреса для каждого слова. addr, должно относиться к расположению ведомой памяти AXI, управляемому ведущим IP AXI на вашей аппаратной плате. socAXIMaster объект, memуправляет соединением между MATLAB ® и ведущим IP-адресом AXI.
writememory( записывает все слова, указанные в mem,addr,data,Name,Value)data, начиная с адреса, указанного в addr, с дополнительными опциями, указанными одним или несколькими Name,Value аргументы пары.
В этом примере на аппаратной плате, подключенной к хост-машине MATLAB, должна выполняться конструкция.
Создайте главный объект MATLAB AXI. Объект соединяется с платой аппаратных средств и подтверждает наличие IP-адреса. Можно создать объект с именем поставщика или socHardwareBoard объект.
mem = socAXIMaster('Xilinx');
Запись и чтение одного или нескольких адресов с помощью одной команды. По умолчанию функции автоматически увеличивают адрес для каждого слова данных. Например, запишите десять адресов, затем считайте данные обратно из одного местоположения.
writememory(mem,140,[10:19]) rd_d = readmemory(mem,140,1)
rd_d = uint32 10
Теперь прочтите записанные данные из десяти мест.
rd_d = readmemory(mem,140,10)
rd_d = 1×10 uint32 row vector 10 11 12 13 14 15 16 17 18 19
Установите BurstType свойство для 'Fixed' для отключения автоматического приращения и многократного доступа к одному и тому же адресу. Например, считывайте записанные данные десять раз с одного и того же адреса.
rd_d = readmemory(mem,140,10,'BurstType','Fixed')
rd_d = 1×10 uint32 row vector 10 10 10 10 10 10 10 10 10 10
Запишите приращение данных в десять раз на один и тот же адрес. Окончательное значение, сохраненное в адресе 140 является 29.
writememory(mem,140,[20:29],'BurstType','Fixed') rd_d = readmemory(mem,140,10)
rd_d = 1×10 uint32 row vector 29 11 12 13 14 15 16 17 18 19
Либо укажите адрес как шестнадцатеричную строку. Приведение считанных данных к типу данных, отличному от uint32, используйте OutputDataType собственность.
writememory(mem,'1c',[0:4:64]) rd_d = readmemory(mem,'1c',16,'OutputDataType',numerictype(0,6,4))
rd_d =
Columns 1 through 10
0 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 2.2500
Columns 11 through 16
2.5000 2.7500 3.0000 3.2500 3.5000 3.7500
DataTypeMode: Fixed-point: binary point scaling
Signedness: Unsigned
WordLength: 6
FractionLength: 4После завершения доступа к плате отпустите соединение JTAG.
release(mem)
mem - Подключение JTAG к ведущему IP-интерфейсу AXI, работающему на аппаратной платеsocAXIMaster объектПодключение JTAG к ведущему IP-интерфейсу AXI, работающему на вашей аппаратной плате, указанное как socAXIMaster объект.
addr - Начальный адрес для операции записиНачальный адрес для операции чтения, заданный как целое число или шестнадцатеричный символьный вектор. Функция приводит адрес к uint32 тип данных. Адрес должен относиться к расположению ведомой памяти AXI, управляемому ведущим IP-адресом AXI на аппаратной плате.
Пример: 'a4'
data - Слова данных для записиСлова данных для записи, заданные как скаляр или вектор. По умолчанию функция записывает данные в блок смежных адресов, увеличивая адрес для каждой операции. Чтобы отключить приращение адреса и записать каждое значение данных в одно и то же местоположение, установите BurstType свойство для 'Fixed' .
Перед отправкой запроса на запись на плату функция передает входные данные в uint32 или int32 тип данных. Преобразование типа данных выполняется по следующим правилам:
Если входной тип данных double, то данные приводятся к int32 тип данных.
Если входной тип данных single, то данные приводятся к uint32 тип данных.
Если битовая ширина входного типа данных меньше 32 бит, то данные расширяются до 32 бит.
Если битовая ширина входного типа данных превышает 32 бита, то данные приводятся к int32 или uint32 тип данных, соответствующий сигнатуре исходного типа данных.
Если входные данные являются типом данных с фиксированной точкой, то функция записывает сохраненное целое значение данных.
При указании большого размера операции, например записи блока памяти DDR, функция автоматически разбивает операцию на несколько пакетов, используя максимальный поддерживаемый размер пакета. Максимальный поддерживаемый размер пакета - 256 слов.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
writememory(mem,140,[20:29],'BurstType','Fixed')'BurstType' - тип пакета AXI4'Increment' (по умолчанию) | 'Fixed'AXI4 тип пакета, указанный как разделенная запятыми пара, состоящая из 'BurstType' и либо 'Increment' или 'Fixed'. Если это значение равно 'Increment', мастер AXI записывает вектор данных из смежных ячеек памяти, начиная с указанного адреса. Если это значение равно 'Fixed', мастер AXI записывает все данные с одного адреса.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.