Vascom Опубликовано 7 апреля, 2014 Поделиться Опубликовано 7 апреля, 2014 Что откуда и куда не передаётся? И почему к выходам qw0 и qw1 подключен один и тот же сигнал? И называй регистры и провода более осмысленно пожалуйста, а то читать невозможно. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leo Опубликовано 7 апреля, 2014 Автор Поделиться Опубликовано 7 апреля, 2014 Программа маленькая вот я и попростому а б вроде не путаюсь. А сигнал один и тотже потому что работает я же не знал а что надо переделать подскажи. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
Vascom Опубликовано 7 апреля, 2014 Поделиться Опубликовано 7 апреля, 2014 Во-первых, нельзя на выводы вешать один и тот же сигнал. И перед этим s и d надо объявить в верхнем модуле. Во-вторых, ты объявляешь reg [7:0]a;, а потом используешь a[15:8] - как ты себе это представляешь? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Особенности хранения литиевых аккумуляторов и батареекПотеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Leo Опубликовано 7 апреля, 2014 Автор Поделиться Опубликовано 7 апреля, 2014 Это не один сигнал ты писал что регистр разбивается например a[7:0] принадлежит qw0 a[15:8]принадлежит qw1 когда сигналы поступают из блоков qw0 и qw1 я тогда специально этот вопрос задавал я так понял.Сигналы s и d как выходные объявить верхнем модуле.Но reg [7:0]a я хотел брать из модуля qw0 и qw1 вынес чито для опредиления что б компилятор не ругался. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Vascom Опубликовано 7 апреля, 2014 Поделиться Опубликовано 7 апреля, 2014 Ты не вывел "a" из модулей qw0 и qw1. И тогда уж объявляй его как [15:0]a. Это же элементарно. Что тут непонятного? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leo Опубликовано 7 апреля, 2014 Автор Поделиться Опубликовано 7 апреля, 2014 (изменено) Просто вывожу а без индексов правельно но а выходит как сигнал хотя это регистр и как же регистр вывести из модуля для обработки. А что ты имел в виду нельзя на выводы вешать один и тот же сигнал. Изменено 7 апреля, 2014 пользователем Leo 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Vascom Опубликовано 8 апреля, 2014 Поделиться Опубликовано 8 апреля, 2014 (изменено) Прямо так и выводи. Сделай выход "а", сделай output a, и сделай reg a. Естественно нужной тебе разрядности. А имел в виду я вот что. Смотри, у тебя модули qw0 и qw1 имеют выход s. Ты к этому выходу подключаешь один провод s. И получается неоднозначность, неясно из какого модуля всё же сигнал будет приходить на провод s. Изменено 8 апреля, 2014 пользователем Vascom 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leo Опубликовано 8 апреля, 2014 Автор Поделиться Опубликовано 8 апреля, 2014 (изменено) Да я про тоже индекс к s но если я назову s1 то наверное не смогу в цикле нумеровать. Может вот так s[индекс] надо. coud qw0( .rty(c), .clk(clk), .asd(sr[2]), .s(s), .d(d), .a2(a) //Вот я прописываю порт регистра а и переименовываю в а2 ); coud qw1( //А компилятор пишет error: port ``a2'' is not a port of qw1. .rty(c), .clk(clk), .asd(sr[1]), .s(s), .d(d), .a1(a) //Вот я прописываю порт регистра а и переименовываю в а1 ); reg [15:0] a; reg [7:0] g; reg [7:0] j; always @(a[7:0],a[15:8]) begin g<=a[7:0]; j<=a[15:8]; end initial $monitor($stime,, shift,, clk,,,sr_out,sr_out1, sr_in ); endmodule module coud ( rty, clk, asd, s, d, a // И здесь добавил а ); input rty,clk; input wire [7:0]asd; output reg s,d; //Здесь требуется почему то писать регистр reg [7:0] v= 8'h45; output reg [7:0] a; //Здесь добавил регистру output always @ (posedge clk) if(rty==1) begin if(v>asd) a <= v-asd; Что то не так? Изменено 8 апреля, 2014 пользователем Leo 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Vascom Опубликовано 8 апреля, 2014 Поделиться Опубликовано 8 апреля, 2014 Надо не порт переименовывать, а сигнал, подключаемый к этому порту. Должно быть .a(a1) в первом модуле и .a(a2) во втором модуле. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leo Опубликовано 8 апреля, 2014 Автор Поделиться Опубликовано 8 апреля, 2014 Переделал но на регист он ругается coud qw0 Port 6 (a) of coud expects 8 bits, got 1. : Padding 7 high bits of the port. coud qw1 : warning: Port 6 (a) of coud expects 8 bits, got 1. : Padding 7 high bits of the port. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Vascom Опубликовано 8 апреля, 2014 Поделиться Опубликовано 8 апреля, 2014 И? Он же тебе написал в чём проблема. Объяви a1 и a2 как 8-битные wire. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leo Опубликовано 8 апреля, 2014 Автор Поделиться Опубликовано 8 апреля, 2014 Фу но было сказано что регистр а надо объявить как 15:0 что бы обработать из двух разных модулей регистры а это был твой совет. reg [15:0] a; reg [7:0] g; reg [7:0] j; always @(a[7:0],a[15:8]) begin g<=a[7:0]; j<=a[15:8]; 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Vascom Опубликовано 8 апреля, 2014 Поделиться Опубликовано 8 апреля, 2014 Ты путаешь. К выходам модулей подключаются wire. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leo Опубликовано 8 апреля, 2014 Автор Поделиться Опубликовано 8 апреля, 2014 Хорошо выходящии сигналы 8 бит wire их надо объединить или как описать после выхода из модуля что не так описано в преведённом ранее коде параметры не передаются. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Vascom Опубликовано 8 апреля, 2014 Поделиться Опубликовано 8 апреля, 2014 Приведи ещё раз исправленный код полностью и скажи что, откуда и куда ты хочешь передать. Не называй их пожалуйста "параметрами", так как это всё "сигналы", а параметры задаются ключевым словом parameter 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leo Опубликовано 10 апреля, 2014 Автор Поделиться Опубликовано 10 апреля, 2014 Но код я же привел. Я подключаю два модуля coud qw0, qw1 и решаю вывести для опыта сигнал а регистр получая два сигнала а с двух модулей coud qw0, qw1 дальше пытаюсь переслать в регистр j,g always @(a[7:0],a[15:8]) что не получается как сделать правельнее в этом случае? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Vascom Опубликовано 10 апреля, 2014 Поделиться Опубликовано 10 апреля, 2014 Объяви wire [15:0] a; В первом модуле подключи первую его часть: .a(a[7:0]), Во втором - вторую часть: .a(a[15:8]), Дальше уже записывай содержимое a в j и g. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leo Опубликовано 10 апреля, 2014 Автор Поделиться Опубликовано 10 апреля, 2014 Да стало понятней но не очень понятно с индексами портов .a(a1) так нумеруются отдельные сигналы и при это а1 становится опять а для обоих модулей что это перевод а1 а2 в один регистр а с двумя битами. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Vascom Опубликовано 10 апреля, 2014 Поделиться Опубликовано 10 апреля, 2014 Я тебя не понимаю. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leo Опубликовано 10 апреля, 2014 Автор Поделиться Опубликовано 10 апреля, 2014 Вывод в этом случаи является а или а1 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Vascom Опубликовано 10 апреля, 2014 Поделиться Опубликовано 10 апреля, 2014 В каком "в этом"? Вот ты говоришь, что уже приводил код, но мы же с тобой его изменили и я не понимаю о каком конкретно коде ты спрашиваешь в данный момент. А называть сигналы ты можешь как угодно, хоть a, хоть a1. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leo Опубликовано 10 апреля, 2014 Автор Поделиться Опубликовано 10 апреля, 2014 Плохо что я тебя путаю но когда сигнал прописан вне модуля .a(a1) .a(a2) обращение к нему как g<=a или g<=a1 или так передовать сигнал нельзя. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Vascom Опубликовано 10 апреля, 2014 Поделиться Опубликовано 10 апреля, 2014 Если ты прописал .a(a1), то и обращаться надо к a1. И перед этим a1 должен быть объявлен как wire [7:0] a1; 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Leo Опубликовано 10 апреля, 2014 Автор Поделиться Опубликовано 10 апреля, 2014 Вот это локаничность в двух строках ответ что и хотел узнать но есть сразу вопрос можно ли так .а(а[1]) не знаю как лучше объяснить. Нумеровать сигнал в цикле без указания [7:0] как нумерация массива sr[1] для большого количества повторений. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Vascom Опубликовано 10 апреля, 2014 Поделиться Опубликовано 10 апреля, 2014 Я тебя не понимаю. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.