Перейти к содержанию

Не Работает Сдвиговый Регистр В Верилог


Leo

Рекомендуемые сообщения

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

  • Ответов 144
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Да но регистры заполняются не по сигналу С а на 230 ns разом первый становится третьим а четвертый заполняется на 470 так что результат не совсем правельный.

Ссылка на комментарий
Поделиться на другие сайты

Запускаю в программе GTKWave и результат выводится перевернутый на 230ns для трех регистров 1-3 а для четвертого потом а код был написан вывод по сигналу "c" 12 значений 3 значения четыре раза. У тебя что подругому?

Ссылка на комментарий
Поделиться на другие сайты

Добавил в тест бэнч перед данными не помогло картина меняется не существенно или подругому надо сделать а чем грозят задержки #? в коде тест бэнч.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Хочу развести плату для Альтеры но почитав монуал чесно говоря не очень понял у микросхемы должно быть питание. Входов там несколько питание ядра вроде не одно и также для генератора. Питание портов ввода-вывода выводы под JTAG или есть ещё что то где это лучше посмотреть вроде в квартус есть картинка портов а то после монуала каша пока.Если есть опыт подскажи.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Появились в коде не понятные задержки что то не понятно почему.

`timescale 1ns/1ns
module counter_uut(
   shift,
   clk,
   sr_in,
   rstn,
   sr_out1,
   sr_out2,
   sr_out3
);
input rstn;
input wire [7:0]sr_in;
input shift,clk;
output  [7:0]sr_out1,sr_out2,sr_out3;
reg[23:0]a;
reg[7:0]b1,b2,b3;
reg[7:0]s1,s2,s3,v1,v2,v3;
reg [1:0]counte=2'b0;
wire c;
always @(posedge clk or negedge rstn)
begin
if(!rstn) a <= 24'b0;
else a <= { a[15:0],sr_in };
end
always @(posedge clk)
begin
if(counte==2'd2)    counte <= 2'b0;
   else			    counte <= counte + 1'd1;
end
assign c= counte==2'd2;
always @(posedge clk)
if(c==1)
begin
  s1<=a[23:16];
  s2<=a[15:8];
  s3<=a[7:0];
if(s1>b1)
 v1<=s1-b1; 
 else
 v1<=b1-s1;
if(s2>b2)
 v2<=s2-b2;
 else
 v2<=b2-s2;
if(s3>b3)
 v3<=s3-b3;
 else
 v3<=b3-s3;

  end
endmodule

Тест бэнч

`timescale 1ns/1ns
module test();
reg rstn;
reg clk;
reg [7:0] sr_in;
initial
begin
   clk = 0;
   sr_in = 0;
   rstn = 0;
end

always
 #10 clk= ~clk;

wire[7:0]sr_out1,sr_out2,sr_out3;

counter_uut counter(
   .clk(clk),
   .rstn(rstn),
   .sr_in(sr_in),
   .sr_out1(sr_out1)
);


initial
begin
$dumpfile("out.vcd");
$dumpvars(-1, test);
$monitor($stime,, clk,,, sr_in,, sr_out1);
@(negedge clk);
rstn = 1;
@(posedge clk);
sr_in = 120;
@(posedge clk);
sr_in = 230;
@(posedge clk);
sr_in = 255;

@(posedge clk);
sr_in = 130;
@(posedge clk);
sr_in = 225;
@(posedge clk);
sr_in = 250;

@(posedge clk);
sr_in = 120;
@(posedge clk);
sr_in = 220;
@(posedge clk);
sr_in = 245;

@(posedge clk);
sr_in = 100;
@(posedge clk);
sr_in = 230;
@(posedge clk);
sr_in = 255;
@(posedge clk);
sr_in = 90;
@(posedge clk);
sr_in = 240;
@(posedge clk);
sr_in = 250;

@(posedge clk);
sr_in = 110;
@(posedge clk);
sr_in = 250;
@(posedge clk);
sr_in = 240;
#430$finish();
end
endmodule

Значения v1,v2,v3 выводятся не одновременно через несколько тактов сигнала С начинается разнобой подскажи в чем проблема.

Ссылка на комментарий
Поделиться на другие сайты

Переделал вот так вроде заработало не знаю так правельно

always @(c)
begin
if(c==1)
begin
  s1<=a[23:16];
  s2<=a[15:8];
  s3<=a[7:0];
end
begin
if(s1<b1)
v1<=b1-s1; 
 else
v1<=s1-b1;
if(s2<b2)
 v2<=b2-s2;
 else
 v2<=s2-b2;
if(s3<b3)
 v3<=b3-s3;
 else v3<=s3-b3;
 b1<=s1;
 b2<=s2; 
 b3<=s3;
  end
end

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • и что не так? при входном токе 10 ма,и питании 3,3в выходной ток будет в районе 12ма.
    • Так случилось, что ничего кроме новых КТ840Б нет, а покупать на такую ерунду не охота. Нужно соединить параллельно 5 транзисторов *2, чтобы создать пуш-пул ферритовый преобразователь для питания магнетрона от микроволновой печи. Я уже намотал пластиковым проводом (они держат большее напряжение, чем эмальпровод) 267 витков вторичная обмотка (Одесакабель со снятой вторичной (белой) изоляцией 0.75) и 3*2 витка первичная (150 жил провода 0.1 мм), и уже испытал, что этот трансформатор держит 3 см дугу (около 30 киловольт) без пробоя (а сама изоляция держит около 50 кВ постоянного, тестировал умножителем УН9-27 со строчником ТВС110), дополнительно будет погружен в масло для охлаждения и изоляции, намотан на ферритовых полукольцах отклоняющей системы кинескопа М2000НМ, а габаритную мощность калькулятор показал 4кВт на частоте 35кГц (которая на Вашем форуме описана как оптимальная для "меандра" именно на М2000НМ). Возможно эти данные помогут определить, нужно уменьшать или увеличивать количество транзисторов КТ840 и повлияют на схему соединения. Программа расчета показала что нужно 1100 жил 0.1 мм но я намотал только 150 - больше не помещается и работать он будет в импульсном режиме (включатся на десяток секунд). Мощность 700 Вт, питание 12В, ток первичной обмотки 70А. Возможно придется добавлять еще транзистор КТ840 к каждой сборке, чтобы открывать такое большое количество транзисторов. Всего КТ840 есть 50 штук. По расчету преобразователь должен давать напряжение 1000-1400В, а остальное надо сделать умножителем, и я не нашел высоковольтных быстрых диодов на 35кГц ни в одном из местных киевских магазинов (возможно придется заказывать в интернете).  Множить хочу до максимального возможного (хоть 100кВ), которое выдержит магнетрон, потому что чем больше напряжение, тем больше мощность. Хочу купить фольгу и пленку, пропитать и погрузить в масло, скрутить в рулон, сделать высоковольтный конденсатор, типо этот преобразователь (допустим он даст 30кВ после умножения) заряжает этот конденсатор, а потом он разряжается на магнетрон.
    • Похоже так. При этом оптопара - далеко не микроскоп, а вполне себе ширпотреб, копеечный.  У ходовой оптопары PC817 типовое время закрытия - 3 мкс, максимальное - 18 мкс. Надо пробовать, возможно вам хватит. Быстрее будет 6N136, но у неё включение сложнее.
    • Вот и я о том же... 3,3 питание и нагрузка килоом... ее минимум раза в три надо уменьшать , если не во все десять... Вы бы хоть ДШ на ПыСы  открыли что ли...
    • там 3,3в питание или вы издеваетесь?
    • А че нагрузка всего 1кОм? поставил бы 10 или 100кОм  
  • Похожий контент

×
×
  • Создать...