Jump to content

    

petrov

Свой
  • Content Count

    2450
  • Joined

Community Reputation

0 Обычный

About petrov

  • Rank
    Гуру

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

6113 profile views
  1. Виталий123 но это реализация в симулинк. А меня интересует только m-реализация А какая разница? Там ничего не скрыто, всё в виде элементарных операций. Если понимание есть, переписать на чём угодно не проблема.
  2. https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=23652&do=findComment&comment=818746
  3. B. Widrow - A Linear Phase Adaptive Filter c1982alinear.pdf
  4. Есть же CORDIC в симулинке. https://www.mathworks.com/help/dsp/ref/complextomagnitudeanglehdloptimized.html Вычисляет от любой входной разрядности типа fixdt().
  5. vitaly_n Круто, гигабит на Cat.5e. Или я чего-то не понимаю, или в IEEE со своим 1000BASE-T дурью маются.
  6. vitaly_n Сколько должно по одной витой паре передаваться? 250 Мегабит/c?
  7. des00 Всё вы правильно делаете. Только для передачи сигналов между регистрами через комбинационные схемы никакие блокирующие присваивания не нужны, хотелось бы чтобы это говно мамонта померло уже.
  8. des00 Ну не нравится вам RTL кодирование, не занимайтесь им. Очень даже нравится. Вот в HDL и HDL симуляторах не понимаю что может нравиться. Платность чего-либо не отменяет того, что все эти блокирующие присваивания и т. п. - мура мурой на ровном месте. Если надо, будем и Icarus Verilog с Yosys использовать, куда деваться.
  9. RobFPGA Можете привести пример такого чуда - языка который сразу, из высоких абстракций синтезирует железо? Дело не в высоких абстракциях, они на самом деле те же самые, просто упор на решение самой практической задачи, а не копошение в блокирующих присваиваниях, громоздких HDL симуляторах и т. п. И без предварительно перегона в "богомерзкий" V/SV/VHDL ? Разумеется с перегоном, в синтезаторы иначе не передашь.
  10. RobFPGA Причем опять же чаще всего это не проблема языка V/SV Это проблемы языка, неочевидные абстрактные конструкции не соответствующие происходящему в железе, плохо читаемый синтаксис, возможность написать одно и то же кучей разных способов и т. п., 99,99% кода плохо написано, язык быстро приводит к потере обозримости, провоцирует на лепилово, отнимает впустую много ресурсов от решаемой задачи. Причём сейчас есть возможность получить довольно сложные цифровые схемы вобще не притрагиваясь к HDL и HDL симуляции, вот и думай после этого, а в чём же смысл блокирующего присваивания, а ни в чём, мусорные знания, которые следовало убить на этапе создания.
  11. RobFPGA Можно и объектом, а можно и чисто конструкциями языка которые присваивают два (2) значения в одну (1) переменную. Поэтому мне и непонятны такие "непринципиальные принципы". Нам зачем эти конструкции, ради конструкций? Это же чистая бутафория, ведущая к неправильному пониманию, небольшие изменения такой конструкции будут правильно симулироваться, но будут приводить к ошибке в описании реального железа, или ещё хуже к синтезу монстроидальной логики. Это очень плохие свойства языка, совершенно ненужные и вредные.
  12. RobFPGA Да и даже сейчас например одновременное присвоение двух значение в одну переменную которая синтезируется как dual-port память вас не смущает? Всё равно эту память надо шаблоном писать как рекомендуется, т. е. её можно просто заменить соответствующим объектом "память" с портами, без всяких записей в переменную, нет в FPGA никаких переменных, наплодили лишних сущностей, лишнюю прослойку, отнимающую впустую ресурс мозга на объекты, которых не существует, и без которых можно обойтись, сделать сразу всё интуитивно понятным.
  13. Leka Для переменной типа "reg" подразумевается неблокирующее присваивание, для "wire" - блокирующее. "reg" всегда подразумевает регистр, "wire" - провод (комбинационную логику). Так у меня сделано, логического противоречия не увидел за несколько лет использования. Был такой язык AHDL, там так и было сделано, не нужны никакие процессы, always @(posedge clk), блокирующие присваивания, там нельзя было написать неправильно, как это происходит в Verilog, VHDL, просто описание соединений, собственно как это и происходит в FPGA. RobFPGA Причем все однозначно и понятно (и понятно всем знающим V/SV). А должно быть понятно просто знающему цифровую схемотехнику, V/SV выглядит как тарабарщина, как китайский, арабский язык, заметьте как сложно хорошо выучить любой незнакомый язык.
  14. dxp Блокирующие присваивание так называется потому, что оно блокирует выполнение нижележащих выражений до тех пор, пока не будет выполнено само. Тем самым оно гарантирует порядок присваивания в блоке. Это является очень правильным свойством в комбинационных блоках, почему его (блокирующее присваивание) и рекомендуют использовать именно там. Название вполне удачное и даже традиционное (сродни блокирующий вызов vs неблокирующий вызов). В регистровых блоках (где генерятся флопы) блокирующие присваивания тоже можно использовать, но в ограниченном контексте - для работы с локальными автоматическими переменными Вся эта концепция крайне неудачная, что и показывают сами по себе многократные обсуждения на форуме. Любому школьнику покажи припаивание проводков на плате между логическими элементами в любом порядке и ему будет всё понятно, а блокирующее присваивание сразу будет камнем преткновения на ровном месте в базовых вещах.