Вопрос – Ответ!

На этой страничке в комментариях вы можете задать свой вопрос по любой из тем сайта. Равно как можете это сделать в комментах к некой определенной статье. Все комментарии с любой страницы сайта автоматически попадают мне на почту, благодаря чему возрастает вероятность быстрого ответа.

Вопрос может быть любого плана – от самого широкого до самого узкого. Отвечу всем! Сразу оговорюсь, что эта страница будет размещена здесь до тех пор, пока не появится форум на этом сайте, где каждый может создать свою тему, НАПИСАТЬ свой вопрос или ОТВЕТИТЬ на чей-то вопрос.

ПРОСЬБА ко ВСЕМ: если знаете ответ на чей-то вопрос, не держите в себе. Ваши советы могут кому-то серьезно облегчить его задачу. Тем самым и Вы лично можете внести свои 5 копеек в превращение страны из сырьевого придатка стареющего организма Европы в … основной орган тела планеты Земля, который на ней стоит,  и будет стоять гордо! :-)

Для Вашего удобства просьба ЗАРЕГИСТРИРОВАТЬСЯ  на сайте LOGWAYS.RU

ВОПРОСЫ и ОТВЕТЫ – пишите В КОММЕНТАРИЯХ

94 комментария на «Вопрос – Ответ!»

  1. Vladimir говорит:

    Я понял. Спасибо. но нужно делать как было в оригинале.

    Гляньте пожалуйста вот что получилось после того как собрал такую схему.
    http://www.imageup.ru/img124/1589238/chastota-plis-2.jpg.html
    Вводы\выводы подписаны цифрами в соответствии с выводами ПЛИС.

    http://www.imageup.ru/img131/1590431/the-two-elements-generator.jpg.html
    Частота на кварце меньше раз в двадцать чем резонирующая частота кварца (1мГц).

    Вот схема блока.
    http://4put.ru/pictures/max/796/2447758.jpg

    Как-то можно переделать схему внутри ПЛИС, чтобы увеличить частоту до 1мГц?

  2. Vladimir говорит:

    Александр а как быть, если на максимального формата схему (А0) не влезают все элементы, которые мне необходимо разместить? Возможно ли сделать формат схемы ещё больше?

  3. Igor говорит:

    Александр, есть ли возможность внутрисхемной отладки реального устройства через jtag?

    • admin говорит:

      Как понять “внутрисхемная отладка”? Через JTAG можно программировать и флеш ПЗУ, и непосредственно ПЛИС. Разница только в том, что после прошивки ПЛИС с платой можно работать сразу, а после прошивки флешПЗУ (в проекте FPGA) – с проектом можно работать только после передергивания питания (перезагрузки).

      • Igor говорит:

        Вопрос вот в чем. Если я правильно понимаю при помощи JTAG можно не только программировать ПЗУ, ПЛИС, но и произвести отладочные работы при проектировании устройства.
        Проблема. В симуляторе ISim не все ошибки в VHDL коде можно отработать т.е. некоторые ошибки можно увидеть только после программирования ПЛИС.

  4. kraftig говорит:

    Здравствуйте, Александр. Бьюсь вот не первый час над реализацией ШИМ. Точнее код на верилоге взят с easyelectronics – код просто, суть ясна. Но упорно не хочет запускаться в симуляторе ISIM. Вот проблемный участок:
    module pwm (clk, reset, in, out);
    input clk, reset;
    output out;
    input [7:0] in;

    reg [7:0] counter;

    always @(posedge clk)
    begin
    if (reset)
    counter <=8'd0;

    //counter <= counter + 8'b1;
    end
    endmodule

    В таком исполнении код работает, т.е. по reset с клоком обнуляется регистр counter.
    Если раскоментировать строку counter <= counter + 8'b1, всё – регистр counter ни обнуляться не хочет, ни изменяться. Даже если вручную присвоить значение в isimе, ничего не происходит. Ошибок никаких не выдает, в пошаговой отладке бегает по строкам, как будто бы все выполняется)) Может подскажите, что не так делаю, перерыл уже мануалы по верилогу и все возможные примеры кодов.

  5. Igor говорит:

    Здравствуйте Александр! Возникла проблема при реализации протокола Modbus для slave на VHDL. Для подсчета контрольной суммы CRC16 я написал вот такую функцию:
    type ar_type is array (0 to 100) of std_logic_vector(7 downto 0);

    function crc_rs(dat : ar_type; n : std_logic_vector) return std_logic_vector is
    variable flag : std_logic;
    variable reg : std_logic_vector(0 to 15):=x”ffff”;
    variable r : std_logic_vector(0 to 15);
    begin
    for j in 0 to 100 loop
    reg(8 to 15) := reg(8 to 15) xor dat(j);
    for i in 0 to 7 loop
    flag := reg(15);
    reg := ‘0’ & reg(0 to 14);
    if flag = ‘1’ then
    reg := reg xor x”a001″;
    end if;
    end loop;
    exit when j = n;
    end loop;
    r := reg(8 to 15) & reg(0 to 7);
    return (r);
    end function crc_rs;
    Отдельно это работает, но. Вызов функции происходит в процессе несколько раз, в списке чувствительности сигналов в процессе только CLK. И вот здесь появились проблемы.
    1. Присвоение сигналу значения подсчитанное в функции происходит в симуляторе ISim не сразу, а через несколько тактов CLK. Так это должно быть или нет?
    2. Процесс компиляции проекта стал занимать больше времени. Почему?

    • admin говорит:

      Написанием функций на VHDL еще не занимался, равно как и конструкцию for -loop не употреблял. Возможно, другие участники активизируются и подключатся.

      • Igor говорит:

        Александр, а с массивами Вы работали? Тут еще вот какая проблема – при присвоении сигналу типа массив (одному или нескольким элементам массива) значения компиляция проходит долго, а иногда с ошибками. Присвоение сигналу типа массив в процессе несколько и если закомментировать строчку – компиляция проходит быстро и без ошибок. Где могут быть ошибки?
        Могу ли я Вам показать код на VHDL?

      • Igor говорит:

        Все разобрался как надо делать!

  6. Здравствуйте. Осваиваю ЦАП и мне нужен простой пример кода VHDL для вывода гармонического сигнала.

  7. Артём говорит:

    можно ли на ПЛИС Xilinx реализовать распознавание речи??

  8. Павел говорит:

    Здравствуйте, Нужна помощь в программировании ПЛИС, в программе XILINX 13,2 … Нужно написать программу чтобы динамик на плате проиграл мелодию… как это осуществить? подскажите плиз). fpga тип(spartan 6).

    • admin говорит:

      Честно говоря, не силен в электромузыке, но теоретически, если принимать мелодию как упорядоченный набор заранее известных синусоидальных частот, перебираемых с определенным шагом и ритмом, то достаточно иметь один стандартный DDS синтезатор (например из бесплатного набора IP-ядер). Коды частот, соответствующие одной из 7 нот нужной октавы, подаются на вход DDS в порядке и длительностью, которые можно задать в теле оператора PROCESS например с помощью последовательного оператора CASE. На выходе ПЛИС конечно же нужен ЦАП. Это общий принцип.

  9. Staaz говорит:

    Здравствуйте. Можно ли перенести алгоритм свертки сигнала на Verilog/VHDL, если можно, то подскажите поподробнее. Спасибо.

Оставить комментарий