HardWareMan, буквари читал, но пока в голове не щёлкнуло "в режиме simple dual port используются оба физических порта", почему-то считал что адресных входов 4.
Вид для печати
HardWareMan, буквари читал, но пока в голове не щёлкнуло "в режиме simple dual port используются оба физических порта", почему-то считал что адресных входов 4.
Bolt, а какая вообще стоит задача для двух-портовой памяти и почему режим обязательно simple?
Это кэш. С одной стороны с памятью работает процессор, с другой обмен с SDRAM. На разных частотах.
Simple не нужен, он меня с толку сбил. В этом режиме можно и читать, и писать на одном такте по разным адресам, ну я и решил что оба порта такие.
Ну так всё получилось или что-то не работает?
Ну, оно пока ещё не получилось, в смысле не написано полностью, но теперь понятно в чём была ошибка и как надо делать.
А VHDL оказывается может хекс грузить ...
Вот у vlad посмотрел в DIVGMX
Может и верилог так же может?Код:altsyncram_component : altsyncram
GENERIC MAP (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
init_file => "../../rom/test128k.hex",
intended_device_family => "Cyclone III",
lpm_hint => "ENABLE_RUNTIME_MOD=NO",
lpm_type => "altsyncram",
numwords_a => 16384,
operation_mode => "ROM",
outdata_aclr_a => "NONE",
outdata_reg_a => "CLOCK0",
widthad_a => 14,
width_a => 8,
width_byteena_a => 1
)
PORT MAP (
address_a => address,
clock0 => clock,
q_a => sub_wire0
);
Это доступ к конфигурационной флэшке, с выхлопом на параллельную шину?
У меня тут все снова уперлось в SDRAM реверса...
Пока шерстил корки реверса и подобное - на тему "как прикрутить SDRAM и сделать выхлоп на OSD" ,
наткнулся на ZPU Flex.
Начитался ужасов на развертывании тулчайна под линухом( сам недавно танцевал при установке тулчайна на ESP8266),
плюнул и развернул все под виндой. Все заколосилось.
Напрягает только одно - что у light52 что у ZPU Flex мрачный геморрой с прикручиванием прошивки в проект.
У первого тулза на питоне , у второго на Си ....
omercury, Касательно SDRAM, вот это на моей борде заработает? https://github.com/stffrdhrn/sdram-controller
Память hy57v561620
В xilinx вывод pin INOUT можно сделать как clock ? Что то он в timing cinstraint видится только как оutput
В xilinx надо смотреть на свойства конкретного вывода. Обычно (практически всегда) вывод плисы для входного clok'a "выделен". Другими словами на "inout обычный" входной тактовый сигнал крайне не рекомендуется подвать. Тактовый подают на вывод который есть MCLK или SCLK (примерные названия).
ПС: ise или vivado ?
AlexG, ise , она такие маневры видимо не любит с inout на тактовой входе , задумка была такая - есть общий генератор ,например 50мгц , плис делит его например на 2 , и эти 25 МГц надо вывести из плис на тактовую проца но и в плисине этот сигнал должен остаться как тактовый , вот думал таким образом пролезет использование тактового пина на inout
JV-Soft, не знаю как в Xilinx, но в Altera такое запросто. "Половинной" частотой управляется контроллер SDRAM, и она же выведена на inout для микросхемы.
Bolt, и этот вывод глобальный клок ?
Дык вы ж не сказали что хотите "выход тактовой".
тактовую подают на спец вход MCLK, в самой плисе клок идёт на "pll", там оная частота умножается/делится и "пучёк" разных тактовых раздаётся "нуждающимся", можно вывести на любой выход плис (который может быть выходом). и не забываем что оная тактовая может иметь "случайную" фазу.
Нет, что первое попалось :)
К AlexG добавлю.
Тактовые пины и шины имеют меньшую задержку. Правильнее делать через выделенные, но можно и на обычных, просто надо учитывать что это может не пройти по задержкам и частотам. Анализатор у меня пишет 110 МГц, SDRAM на 75 работает. Для "видеокарты" вообще сложным счётчиком делаю тактовую 25.175 из 100. А с процессора идёт своя синхронизация CPU_PHI, которую завёл тоже на первый попавшийся.
Привет всем. Пробую сделать rom-картридж (не спрашивайте зачем :) ), аналог ZXC2 http://www.fruitcake.plus.com/Sincla...e2_RC_ZXC2.htm
Идея такая, выдаем на спек 0 на ресет (что все шины Z80 перешли в высокоимпедансное состояние), и с SD карты записываем в микросхему SRAM бинарник от картриджа, посредством микроконтроллера. Адрес записи для SRAM (128кБ) формируем 17 разрядным счетчиком на ПЛИС, посредством сигналов clock и clear от микроконтроллера. После записи, переводим шину данных контроллера в высокоимпедансное состояние и снимаем ресет со спека. При условии сигнала ресет в 1 логика должна работать как в оригинальном картридже. Данные в SRAM пишутся стабильно, при отладке сливал дамп со SRAM по юсарту и сравнивал с исходным бинарником, все ок. Но вот при состоянии ресет в 1, в "железе" не работает. Где то я тут напортачил (это первый мой код на VDHL :D ), прога компилируется без ошибок, но с кучей варнингов. Похоже я не очень понимаю суть оператора Process. Помогите разобраться пожалуйста.
ВаринингиКод:library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity ram_vdhl is
port
(
clock : in std_logic;
clear : in std_logic;
a_ram_l : inout std_logic_vector(13 downto 0);
a_ram_h : out std_logic_vector(2 downto 0);
reset : in std_logic;
mreq : in std_logic;
ce_mcu : in std_logic;
oe_mcu : in std_logic;
romcs : out std_logic;
oe_ram : out std_logic;
ce_ram : out std_logic;
a14_zx : in std_logic;
a15_zx : in std_logic
);
end ram_vdhl;
architecture ram_vdhl_arc of ram_vdhl is
signal count: std_logic_vector(16 downto 0):= (others => '0');
signal zxc: std_logic_vector(5 downto 0):= (others => '0');
signal oe: std_logic;
signal adr: std_logic;
signal clk: std_logic;
begin
A:process (clock, clear)
begin
if clear = '1' then
count <= (others => '0');
elsif (rising_edge(clock)) then
count <= count +1;
end if;
end process;
B:process (reset)
begin
if reset = '1' then
a_ram_l(13 downto 0) <= "ZZZZZZZZZZZZZZ";
oe <= (a14_zx or a15_zx or mreq);
adr <= not (a_ram_l(6) and a_ram_l(7) and a_ram_l(8) and a_ram_l(9) and a_ram_l(10) and a_ram_l(11) and a_ram_l(12) and a_ram_l(13));
clk <= not (oe or adr or zxc(0));
oe_ram <= oe;
a_ram_h(0) <= zxc(3);
a_ram_h(1) <= zxc(1);
a_ram_h(2) <= zxc(5);
ce_ram <= zxc (4);
romcs <= zxc (4);
else
a_ram_l <= count(13 downto 0);
a_ram_h <= count(16 downto 14);
oe_ram <= oe_mcu;
ce_ram <= ce_mcu;
end if;
end process;
C:process (clk)
begin
if (rising_edge(clk)) then
zxc(0) <= a_ram_l(5);
zxc(1) <= a_ram_l(1);
zxc(2) <= a_ram_l(3);
zxc(3) <= a_ram_l(0);
zxc(4) <= a_ram_l(4);
zxc(5) <= a_ram_l(2);
end if;
end process;
end ram_vdhl_arc;
Ну или может книжку хорошую порекомендуете по VDHL для ПЛИС, пока только кривые "ПЛИС с нуля" в инете находятся.Код:Info: *******************************************************************
Info: Running Quartus II 32-bit Analysis & Synthesis
Info: Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
Info: Processing started: Fri Feb 14 23:09:04 2020
Info: Command: quartus_map --read_settings_files=on --write_settings_files=off RAM_VDHL -c RAM_VDHL
Warning (20028): Parallel compilation is not licensed and has been disabled
Info (12021): Found 2 design units, including 1 entities, in source file ram_vdhl.vhd
Info (12022): Found design unit 1: ram_vdhl-ram_vdhl_arc
Info (12023): Found entity 1: ram_vdhl
Info (12127): Elaborating entity "RAM_VDHL" for the top level hierarchy
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(47): signal "a14_zx" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(47): signal "a15_zx" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(47): signal "mreq" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(48): signal "a_ram_l" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(49): signal "oe" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(49): signal "adr" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(49): signal "zxc" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(50): signal "oe" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(51): signal "zxc" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(52): signal "zxc" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(53): signal "zxc" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(54): signal "zxc" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(55): signal "zxc" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(57): signal "count" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(58): signal "count" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(59): signal "oe_mcu" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10492): VHDL Process Statement warning at RAM_VDHL.vhd(60): signal "ce_mcu" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (10631): VHDL Process Statement warning at RAM_VDHL.vhd(43): inferring latch(es) for signal or variable "oe", which holds its previous value in one or more paths through the process
Warning (10631): VHDL Process Statement warning at RAM_VDHL.vhd(43): inferring latch(es) for signal or variable "adr", which holds its previous value in one or more paths through the process
Warning (10631): VHDL Process Statement warning at RAM_VDHL.vhd(43): inferring latch(es) for signal or variable "clk", which holds its previous value in one or more paths through the process
Warning (10631): VHDL Process Statement warning at RAM_VDHL.vhd(43): inferring latch(es) for signal or variable "romcs", which holds its previous value in one or more paths through the process
Info (10041): Inferred latch for "romcs" at RAM_VDHL.vhd(43)
Info (10041): Inferred latch for "clk" at RAM_VDHL.vhd(43)
Info (10041): Inferred latch for "adr" at RAM_VDHL.vhd(43)
Info (10041): Inferred latch for "oe" at RAM_VDHL.vhd(43)
Info (19000): Inferred 1 megafunctions from design logic
Info (19001): Inferred lpm_counter megafunction (LPM_WIDTH=17) from the following logic: "count_rtl_0"
Info (12130): Elaborated megafunction instantiation "lpm_counter:count_rtl_0"
Info (12133): Instantiated megafunction "lpm_counter:count_rtl_0" with the following parameter:
Info (12134): Parameter "LPM_WIDTH" = "17"
Info (12134): Parameter "LPM_DIRECTION" = "UP"
Info (12134): Parameter "LPM_TYPE" = "LPM_COUNTER"
Info (280013): Promoted pin-driven signal(s) to global signal
Info (280014): Promoted clock signal driven by pin "clock" to global clock signal
Info (280016): Promoted output enable signal driven by pin "reset" to global output enable signal
Info (21057): Implemented 61 device resources after synthesis - the final resource count might be different
Info (21058): Implemented 8 input pins
Info (21059): Implemented 6 output pins
Info (21060): Implemented 14 bidirectional pins
Info (21063): Implemented 31 macrocells
Info (21073): Implemented 2 shareable expanders
Info: Quartus II 32-bit Analysis & Synthesis was successful. 0 errors, 22 warnings
Info: Peak virtual memory: 351 megabytes
Info: Processing ended: Fri Feb 14 23:09:08 2020
Info: Elapsed time: 00:00:04
Info: Total CPU time (on all processors): 00:00:02
Info: *******************************************************************
Info: Running Quartus II 32-bit Fitter
Info: Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
Info: Processing started: Fri Feb 14 23:09:09 2020
Info: Command: quartus_fit --read_settings_files=off --write_settings_files=off RAM_VDHL -c RAM_VDHL
Info: qfit2_default_script.tcl version: #1
Info: Project = RAM_VDHL
Info: Revision = RAM_VDHL
Warning (20028): Parallel compilation is not licensed and has been disabled
Info (119006): Selected device EPM7032SLC44-10 for design "RAM_VDHL"
Info: Quartus II 32-bit Fitter was successful. 0 errors, 1 warning
Info: Peak virtual memory: 312 megabytes
Info: Processing ended: Fri Feb 14 23:09:11 2020
Info: Elapsed time: 00:00:02
Info: Total CPU time (on all processors): 00:00:01
Info: *******************************************************************
Info: Running Quartus II 32-bit Assembler
Info: Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
Info: Processing started: Fri Feb 14 23:09:14 2020
Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM_VDHL -c RAM_VDHL
Info (115030): Assembler is generating device programming files
Info: Quartus II 32-bit Assembler was successful. 0 errors, 0 warnings
Info: Peak virtual memory: 307 megabytes
Info: Processing ended: Fri Feb 14 23:09:15 2020
Info: Elapsed time: 00:00:01
Info: Total CPU time (on all processors): 00:00:01
Info (293026): Skipped module PowerPlay Power Analyzer due to the assignment FLOW_ENABLE_POWER_ANALYZER
Info: *******************************************************************
Info: Running Quartus II 32-bit TimeQuest Timing Analyzer
Info: Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
Info: Processing started: Fri Feb 14 23:09:16 2020
Info: Command: quartus_sta RAM_VDHL -c RAM_VDHL
Info: qsta_default_script.tcl version: #1
Warning (20028): Parallel compilation is not licensed and has been disabled
Info (306004): Started post-fitting delay annotation
Info (306005): Delay annotation completed successfully
Warning (335095): TimeQuest Timing Analyzer does not support the analysis of latches as synchronous elements for the currently selected device family.
Critical Warning (332012): Synopsys Design Constraints File file not found: 'RAM_VDHL.sdc'. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.
Info (332142): No user constrained base clocks found in the design. Calling "derive_clocks -period 1.0"
Info (332105): Deriving Clocks
Info (332105): create_clock -period 1.000 -name clock clock
Info (332105): create_clock -period 1.000 -name a14_zx a14_zx
Warning (332125): Found combinational loop of 2 nodes
Warning (332126): Node "romcs$latch~6|[2]"
Warning (332126): Node "romcs$latch~6|dataout"
Warning (332125): Found combinational loop of 2 nodes
Warning (332126): Node "clk~10|dataout"
Warning (332126): Node "clk~10|[1]"
Warning (332125): Found combinational loop of 2 nodes
Warning (332126): Node "adr~10|dataout"
Warning (332126): Node "adr~10|[1]"
Warning (332125): Found combinational loop of 2 nodes
Warning (332126): Node "oe~10|[1]"
Warning (332126): Node "oe~10|dataout"
Info: Found TIMEQUEST_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON
Critical Warning (332148): Timing requirements not met
Info (332146): Worst-case setup slack is -9.000
Info (332119): Slack End Point TNS Clock
Info (332119): ========= ============= =====================
Info (332119): -9.000 -153.000 clock
Info (332146): Worst-case hold slack is 5.000
Info (332119): Slack End Point TNS Clock
Info (332119): ========= ============= =====================
Info (332119): 5.000 0.000 clock
Info (332140): No Recovery paths to report
Info (332140): No Removal paths to report
Info (332146): Worst-case minimum pulse width slack is -3.500
Info (332119): Slack End Point TNS Clock
Info (332119): ========= ============= =====================
Info (332119): -3.500 -119.000 clock
Info (332119): -3.500 -35.000 a14_zx
Info (332001): The selected device family is not supported by the report_metastability command.
Info (332102): Design is not fully constrained for setup requirements
Info (332102): Design is not fully constrained for hold requirements
Info: Quartus II 32-bit TimeQuest Timing Analyzer was successful. 0 errors, 16 warnings
Info: Peak virtual memory: 280 megabytes
Info: Processing ended: Fri Feb 14 23:09:17 2020
Info: Elapsed time: 00:00:01
Info: Total CPU time (on all processors): 00:00:01
Info: *******************************************************************
Info: Running Quartus II 32-bit EDA Netlist Writer
Info: Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
Info: Processing started: Fri Feb 14 23:09:18 2020
Info: Command: quartus_eda --read_settings_files=off --write_settings_files=off RAM_VDHL -c RAM_VDHL
Info (204019): Generated file RAM_VDHL.vo in folder "D:/ZX SPECTRUM/rom_cartridge/RAM_ZX2_VDHL_copy/simulation/modelsim/" for EDA simulation tool
Info: Quartus II 32-bit EDA Netlist Writer was successful. 0 errors, 0 warnings
Info: Peak virtual memory: 290 megabytes
Info: Processing ended: Fri Feb 14 23:09:19 2020
Info: Elapsed time: 00:00:01
Info: Total CPU time (on all processors): 00:00:00
Info (293000): Quartus II Full Compilation was successful. 0 errors, 39 warnings
Вот примерчик из Speccy2007, чтобы понять как работает чувствительность
PS: т.е. триггер срабатывает по событию, в данном случае это rising edge у CLKКод:process( CLK )
begin
if CLK'event and CLK = '1' then
if Tick = '1' then
if paper_r = '0' and Attr_r(6) = '1' then
RY <= 'Z';
GY <= 'Z';
BY <= 'Z';
else
RY <= '0';
GY <= '0';
BY <= '0';
end if;
end if;
end if;
end process;
Как вариант:
Аркадий Поляков: Языки VHDL и VERILOG в проектировании цифровой аппаратуры
по теме:
предупреждения говорят о том что signal "a14_zx" и тд должны быть указаны там же где и сигнал "ресет" - это с точки зрения "компилятора".
С "политической" - любое описание реальной схемы сводится к "текстовому описанию", результат которого изменяется в зависимости от изменения входных сигналов.
Применительно к "B:process (reset)":
указано что изменяется только один входной сигнал "reset", а остальные - нет. Посему когда reset==1 компилятор теряется в догадках что делать с другими входными сигналами. (В общем случае схема работает по изменению входных сигналов.)
Ну это всё очень "грубо" объяснено.
ПС: я больше склоняюсь к systemverilog - он более лаконичен.
Т.е. нужно указать в процессе все входные сигналы участвующие в этом процессе , а не только ресет? И в условии ресета нужно не только состояние указать но и само событие в виде перехода из 0 в 1? Книжку скачаю, спасибо!
Вопрос , ISE , есть такое выражение -
assign CLOCK_RD = (A[23:16] == 8'b11011100) | LDS | ~cpu_rw ;
При адресе #DCxxxx , строб данных , и CPU в чтении.
Я думал что в этом выражении (A[23:16] == 8'b11011100) , при наличии на адресной шине значения #DCxxxx ,это выражение даст ноль , а выражение дает 1
Может так оно и должно быть ,но вот как то считал что ноль должно быть ,при исполнении условия , а ?
Почему ноль? "==" - сравнение. Если равно, то true (1), если не равно, то false (0). Основы синтаксиса, одинаково в verilog и в C.
Всем привет! Столкнулся с непонятным поведением MAX3000A. Пытаюсь сконфигурировать выводы как open-drain (и вроде-бы конфигурируется, если посмотреть в отчёт Technology Map Viewer. Установил в конфиге set_global_assignment -name MAX7000_DEVICE_IO_STANDARD "3.3-V LVCMOS", запаял pull-up резисторы номиналом 10к (пробовал 4.7к тоже, ещё меньше не рискнул).
назначаю сигнал на выходы
assign CLK_3d5_5V = CLK_3d5 ? 1'bZ : 1'b0;
в итоге, когда цепляюсь к выводу осциллографом там не 5V, как я наивно ожидаю, а всего ~=600mV (и форма сигнала больше похожая на пилу, чем на меандр). Причём независимо от того, на какой пин cpld назначаю сигнал. Что происходит, идей никаких нет, гугл не помог. Морально настроился переделывать плату с использование трансляторов уровней ALVC. Причём если не пытаться симулировать open-drain выход, то на выходе стабильные 3.3V при лог. 1., что в режиме LVTTL, что LVCMOS. Может кто знает отчего так получается?
Да, таким образом. Частота вывода 3.5МГц, завожу внутрь 14МГц
Если присваивать выводу 1 или 0, то на выходе 3.3V если без pull-up резистора и в районе 3.6 с резистором. Та pdf'ка, которую с сайта Intel скачивал, вроде про ёмкости ничего не говорит.
Я не так выразился...
Если вывод в z-состоянии с подтяжкой, что на этом выводе? 3.6 В?
Про ёмкости pdf ничего не говорит, но проводник может не успевать заряжаться через резистор. При таких условиях (подтянуто к 5 В через 10 кОм, 3.5 МГц, успевает дойти до 0.6 В) у меня получилось около 110 пФ. Это ёмкость проводников на плате и входов других микросхем.
Это какая-то шина? Может всё-таки нужен драйвер?
- - - Добавлено - - -
А, ну да, это 3.5 МГц clock. Которым, естественно, тактируется десяток микросхем, в том числе процессор. Для Z80 clock capacitance указано 35 пФ.
Не потянет open drain такое безобразие.
Если выход у нас единственный на шине, да к тому же с хорошей нагрузкой, то зачем OD использовать? Лучше обычный PP, даже LVTTL раскачает многое. Ну а если Z80 не понравится, тогда нужно снаружи навесить буфер. Однако, у меня для Z80A хватало.
Спасибо, хотя бы понятна физика процесса. Т.е., если, например, я выведу на вывод 50Гц, то должно успевать заряжаться?
Вообще, предусматривалось что 2 штуки, но установлен пока только Z80. Я пробовал и без него.
У меня на плате напаяна HC373 и на неё заведено пачка сигналов c MAX, там LVTTL попадает в диапазон между Low и High. Собственно, почему-то думалось, что open-drain прокатит. Попробую достать HCT373 или LS/LVC373. Возможно, действительно, заработает (если HM621024 хватит LVTTL уровней).
не прошиваетчся альтера epm3128a
стоит в VGA конверторе для спектрума .перепроверил все что можно. все везде нормально.замыканий ,соплей нет.пропаивал с хорошим флюсом,проверял тестером.
перепробовал два программатора usb blaster ,один с али на базе пика и 244 буфера,второй USB Blaster V2 оригинальный . на обеих одно и тоже .
перепаял подтяжку jtagа как и должно быть,согласно официальной документации - TCK с подтяжкой к земли,TDO нпарямую, TMS и TDI с подтяжкой к 3.3в.все через 1к резисторы, не помогло.
кто сталкивался?
[IMG]https://c.radikal.ru/c15/2003/16/73d8563320d8.png[/IMG]
Нога зависла, которая TDI на микре. В том числе и внутри самой микры.
Не знаю, для начала прозвонка спасёт гиганта мысли. Что сигналы доходят до JTAG от микры. А так же неплохо посмтреть осликом или логиком, что на них творится. Если всё подключено нормально и замыканий нет, то значит нога залипла внутри. Тут либо попытаться стереть её в программаторе, либо выкинуть и купить новую. Ну ещё для MAX3000 можно попробовать метод отсюда.
tiretrak,
а из какой программы-пакета данное окошко?