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

ViKo

Модератор
  • Постов

    12 216
  • Зарегистрирован

Весь контент ViKo


  1. Мне кажется вполне логичным перенос многих опросов в раздел "Общение". Например - "Какую музыку слушаем".
  2. Думаю, достаточно того, что уже было высказано, в том числе и мной. Модераторам внимательнее следить за общением, усовершенствовать скрипты для автоматического обнаружения недозволенного, ужесточить наказания за хулиганство, самим участникам стараться быть более уравновешенными. Правила конкретизировать, если нужно. И "о политике - ни слова" (только как найти грань, отделяющую политику от неполитики).
  3. Может, кто подскажет заодно, почему в ModelSim в окне Wave в тексте формата переменной встречаются и маленькие z, и большие Z.
  4. В проекте использую простенький package (в принципе, неважно, какой, но показал): package Definitions; /* Unit Select */ typedef enum { Status, _tmp1_, Relay, Power, TimerL, TimerH, PreCnt, Trig, S1ADC, S2ADC, S1Mem, S2Mem, Itpl, DAC, _tmp14_, _tmp15_ } unit_sel; endpackage Совал его и в один из файлов проекта, и в отдельный файл. Все файлы проекта (в папке source) добавлены к проекту. В нужных модулях используется import Definitions::*; Quartus нормально компилирует. Запускаю ModelSim через NativeLink. Для теста создал отдельную папку (simulation), и в ней файл _test.sv. Если package в отдельном файле, RTL симуляция проходит, а Gate симулятор не находит Definitions. Аналогично, если package в одном из файлов проекта. Если задать только в файле теста, он не находится компилятором Quartus. Если задать и в файле проекта, и в тесте, RTL симуляция не идет, жалуется ** Error: (vsim-13) Recompile work.Signal_m because work.Definitions has changed. Зато проходит Gate симуляция. Как же тут всем угодить? Выкрутился так - создал в файле теста: package Definitions_; /* Unit Select */ typedef enum { Status, _tmp1_, Relay, Power, TimerL, TimerH, PreCnt, Trig, S1ADC, S2ADC, S1Mem, S2Mem, Itpl, DAC, _tmp14_, _tmp15_ } unit_sel_; То же самое, только под другим именем. И вызываю его в тестбенче: import Definitions_::*; Все компиляции и симуляции работают. Странно, что имена в перечислениях не конфликтуют.
  5. Лично я использую STM32F10X. Не жалуюсь. Если бы начинал недавно, возможно, выбрал бы NXP. А сейчас смотрю на STM32F20X.
  6. А какая машина лучше - Тойота, Рено, Форд или Фольксваген?
  7. Прикольный результат получился: Электроникс - 0, Шарага - 6 голосов (на данный момент). Вы это хотели увидеть, г-н Herz? :) А easyelectronics.ru - действительно, очень нравится. Правда не форум, а тематические статьи. Kazus.ru моих надежд не оправдывает. Telesys.ru - давно не был, и не тянет. Аналогично - сахара.ru. Активно просматривал и иногда писал в www.pcad.ru пока изучал P-CAD. Потом темы студентов с просьбами поделиться изображением микросхем достали. Еще заходил на www.microchip.su, тоже не зацепился. P.S. Ну, конечно - Электроникс - самый лучший! Голосую!
  8. Поддерживаю. Хожу "тут", как по местам былых боев. Тихо. Печально. Захожу "туда" - ругаются. Кроме вопросов и ответов на технические темы, есть еще люди, которые пишут эти вопросы и ответы. Было интересно узнавать, как живут "коллеги по цеху" где-нибудь, в Новосибирске, Питере, Берлине. Общение на Электрониксе объединяло людей со всех концов планеты. А голосовать - не буду я голосовать, если мое мнение ничего не изменит. И на выборы я тоже не хожу. :) их есть 30 (тридцать).
  9. Уже имею 12 штук для rtl симуляции, и столько же для gate. Они, хоть и маленькие, но, по-моему, все одинаковые, и просто внимание отвлекают. В ini что-то не вижу ничего.
  10. Keil

    А вот assert как раз работает на этапе run-time, нет? А проверять при компиляции - только #if ... #error. Правильно?
  11. Ну, вот всё, что имею (чуть подправил, кажется, лишнего не вырезал). Testbench Template Writer'ом сделано, и скорректировал потом. В EDA RTL Simulation всё, как надо, показывает. timeunit 10ps; timeprecision 1ps; module _top_tst(); parameter CPUCLK = 13.88ns; // test vector input registers logic res; // testbench register reset; // logic clk; // testbench clock logic [17:16] AB; logic[15:0] treg_ADB; logic ADVn; logic ITDAT; logic OEn; logic PLDCP; logic PLDSELn; logic S1Cp; logic [7:0] S1Dp; logic S2Cn; logic [7:0] S2Dn; logic T1Cp; logic T2Cn; logic TXCn; logic WEn; // wires wire [15:0] ADB; wire DACDIN; wire DACSCL; wire DACSYNn; wire ITCHR; wire ITCLK; wire ITDCHn; wire ITSELn; wire LDACn; wire PDWN1; wire PDWN2; wire PLDINTn = 1; wire [1:0] S1A; wire [3:0] S1L; wire [1:0] S2A; wire [3:0] S2L; wire SKOEn; wire [1:0] T1A; wire T1HYS; wire [1:0] T2A; wire T2HYS; wire TEST = 0; wire [1:0] TXA; wire TXHYS; wire WAITn; // assign statements (if any) assign ADB = treg_ADB; _top i1 ( // port map - connection between master ports and signals/registers .AB(AB),.ADB(ADB),.ADVn(ADVn),.DACDIN(DACDIN),.DACSCL(DACSCL),.DACSYNn(DACSYNn), .ITCHR(ITCHR),.ITCLK(ITCLK),.ITDAT(ITDAT),.ITDCHn(ITDCHn),.ITSELn(ITSELn),.LDACn (LDACn), .OEn(OEn),.PDWN1(PDWN1),.PDWN2(PDWN2),.PLDCP(PLDCP),.PLDINTn(PLDINTn),.PLDSELn(P LDSELn), .S1A(S1A),.S1Cp(S1Cp),.S1Dp(S1Dp),.S1L(S1L),.S2A(S2A),.S2Cn(S2Cn),.S2Dn(S2Dn),.S 2L(S2L),.SKOEn(SKOEn), .T1A(T1A),.T1Cp(T1Cp),.T1HYS(T1HYS),.T2A(T2A),.T2Cn(T2Cn),.T2HYS(T2HYS),.TEST(TE ST), .TXA(TXA),.TXCn(TXCn),.TXHYS(TXHYS),.WAITn(WAITn),.WEn(WEn) ); /* Тактовый генератор 250MHz */ initial begin PLDCP = 1'b0; // clk = 1'b0; $timeformat(-9, 4, "ns", 8); $display("Running testbench"); #2ns forever #2ns begin PLDCP = !PLDCP; // clk = !clk; end end /* Сброс (не используется) */ initial begin res = 1; repeat (2) @(posedge i1.clk125); res = 0; end /* Начальные установки */ initial begin AB = '0; treg_ADB = '0; ADVn = 1; OEn = 1; PLDSELn = 1; WEn = 1; end /* */ initial begin repeat (4) @(posedge i1.clk125); #(CPUCLK*1) {PLDSELn, AB, treg_ADB, ADVn} = {'0, 16'h3333, 16'h3333, '0}; #(CPUCLK*3) ADVn = 1; #(CPUCLK*1) WEn = 0; #(CPUCLK*1) treg_ADB = 16'h5555; #(CPUCLK*3) WEn = 1; #(CPUCLK*1) {PLDSELn, AB, treg_ADB} = {'1, 16'hffff, 16'hffff}; repeat (8) @(posedge i1.clk125); $stop; end endmodule В топе есть /* PLL */ mv_altpll mv_altpll_inst ( .inclk0 (PLDCP), // вход тактовой частоты .c0 (clk250), // выход частоты 250 MHz .c1 (clk125), // выход частоты 125 MHz .c2 (clk25), // выход частоты 25 MHz .locked (lock) // выход сигнала lock (не используется) );
  12. Очень хотелось бы, чтобы вы помогли правильно домыслить решение в этой теме: http://electronix.ru/forum/index.php?showt...st&p=918707 Думаю, топикстартер уже отчаялся надеяться... А вот если б намекнули, в чем загвоздка здесь, моя благодарность не знала бы границ: http://electronix.ru/forum/index.php?showt...st&p=921851
  13. Довожу до сведения администрации и участников, что я сам эту тему закрывать не буду. Но если закроется из-за провокационных или малообдуманных высказываний некоторых участников, не пожалею. Становится похоже на балаган. Думаю, следующей подобной темы уже не будет. Как и не будет самого общения. Наверное, если провести опрос, то желающих иметь офтопик наберется больше. Но, поскольку система правления здесь авторитарная, то данный опрос будет только выражением желаний, а никак не руководством к действию. Еще есть шанс переубедить администрацию чем-то весомым. Предлагаю высказываться коротко и конкретно. Нужно, не нужно, что делать?
  14. На сайте ST есть к ST-Link утилита, для программирования, чтения, пошаговой отладки... автономно. Когда ее установите, найдете там упомянутый USBDriver.dll (размером 380.5KB). Замените им тот, что есть внутри Keil\ARM\STLink (там будет размером 65KB). После этого можно будет запускать отладку. Но программировать тоже можно будет только через отладку. Или пользуйтесь отдельно утилитой.
  15. Предлагаю еще один вариант решения проблемы модерирования раздела общения. Добавить к существующим 20-ти модераторам еще 20. Модерирующих какой-то тематический раздел, и, параллельно, этот злосчастный офтопик. Найти психологически устойчивых участников труда не составит. Если же со временем окажется, что выбран не тот, или власть сыграла с человеком злую шутку - заменить. На основании конкретно описанного механизма выборов и отводов. Предусмотреть отдельное наказание за перепалки модераторов между собой.
  16. Припишу сюда вопрос, кажется, это по теме. Запускаю RTL симуляцию из Quartus 9.1. Работает. Запускаю Gate Level симуляцию, пишет: ** Error: (vsim-3043) ... _top_tb.sv(142): Unresolved reference to 'clk125' in i1.clk125. Это сигнал с PLL, имеющийся в top модуле. Что еще нужно сделать...?
  17. x) Дежурство модераторов в Общении поочереди.
  18. Не согласен. Просто уважение не обязательно проявляется явно, тогда как грубость всегда на виду.
  19. Ну, пусть так, я не против. Я не вижу никакого смысла, когда разборки модераторов вылезут на всеобщее обозрение. А как насчет одиночного (парного) дежурства? Я заглянул в список модераторов, насчитал 20 штук. Что, если раз в 10 дней в разделе Общение один из модераторов будет "Супермодератором"?
  20. Вы улавливаете разницу между "потребительским отношением" рядового участника и "добровольно принятыми на себя обязательствами" модератора? Вы, вроде, пробовали себя в этой роли? Что вами двигало, когда соглашались? И что послужило причиной для складывания полномочий? К примеру, мы содержим милицию, отчисляя часть своих доходов на это нелегкое дело. И вправе требовать от них исполнения своих обязанностей. Хотя и немногие из нас решились бы сами пойти в милиционеры. В данном случае, модераторство не приносит материальной выгоды. Но дает почет и уважение рядовых участников, и осознание собственной значимости. У некоторых это осознание уже начинало зашкаливать. Думаю, примеров приводить не нужно, сами знаете. Лично я уже высказался, что проживу без политики легко. Без общения - не так легко, но тоже проживу. Так что про "потребительские вопли" вы слегка преувеличили.
  21. Мне не кажется это шуткой, даже на 1%. Разве что, про обсуждение работы модераторов. И то, я ведь не коснулся кого-то конкретно. Хотя мог бы. Если нарушения будут пресекаться в самом начале, то и копаться не придется. Вы ведь добровольно соглашались на эту нагрузку. Придется соблюдать... Вас же много, добрый десяток наберется. Не хотите все разом, установите график дежурства. Я себя пробовать на "этом поприще" не соглашусь ни под каким видом. Да и на "других поприщах" тоже. Меня устраивает мой теперешний статус.
  22. В Assignment Editor'е я не нашел pull-down, а Weak Pull-Up Resistor вижу. Хочу спросить (у топикстартера), как и где назначаются pull-down?
  23. Про модераторов. Не понимаю - всем скопом модераторы не справлялись с офтопиком, а кто-то новый один, специальный, справится? Считаю, модераторы сами виноваты, плоховато работали в данном разделе, и теперь пожинают плоды. Кое-кто сам провоцировал разговоры на запрещенные темы, кто-то, наоборот, неоправданным закрытием тем без указания причин тоже распалял "общество". Люди все разные, думаю, ни один из модераторов не желал пойти против мнения другого, по крайней мере, открыто. Поэтому часто нарушения правил пропускались. Может быть, стоит дать одному из модераторов больший приоритет в разделе "Общение" (вот это я бы и назвал "Супермодератор", куда они все исчезли...?). Но оставить надо всех. Меня устраивают те модераторы, что имеются сейчас. Только относитесь к своим обязанностям также добросовестно, как и к правам. Надеюсь, это не будет считаться обсуждением действий модераторов? А ведь должно... :( Кстати, половина из теперешних модераторов вообще не заходит в раздел "Общение". Обязать заходить! Неча "отлынивать". :)
×
×
  • Создать...