Мелкие вопросы по цифровой технике.

Обсуждаем цифровые устройства...
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Мелкие вопросы по цифровой технике.

Сообщение Грендайзер »

Спасибо, обязательно ознакомлюсь :)
Реклама
Аватара пользователя
Ghost in shell
Держит паяльник хвостом
Сообщения: 936
Зарегистрирован: Пн июн 15, 2009 06:01:38
Откуда: USSR

Re: Мелкие вопросы по цифровой технике.

Сообщение Ghost in shell »

Доброго времени суток!
Какие выходы у 155ИД6? Открытый коллектор или обычная ТТЛ?
Кот гуляет сам по себе, но вблизи холодильника.
Реклама
Аватара пользователя
gfgeuf
Друг Кота
Сообщения: 3695
Зарегистрирован: Пн авг 29, 2011 10:35:30
Откуда: Україна Дикий Захід - Чортків - Джурин

Re: Мелкие вопросы по цифровой технике.

Сообщение gfgeuf »

Вот смотрите , количественное значение сейчас поищу и подредактирую пост.
СпойлерИзображение
60 миллиампер.
Вложения
Snap_2012.12.18_20h36m07s_001.png
(7.58 КБ) 642 скачивания
пути ТОКА неисповедимы.
Злословец есть самый лютый из диких зверей,
а льстец - самый опасный из ручных животных. (ДИОГЕН)
Аватара пользователя
dimitriy91
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Ср июн 08, 2011 15:37:56
Откуда: ДВ

Re: Мелкие вопросы по цифровой технике.

Сообщение dimitriy91 »

Код: Выделить всё

Ну ближе всего к железу машинный код.
Знаете СИ очень сильно похож на ассемблер, я вот смотрю на конструкции СИ и насквозь вижу ассемблер, а ассемблер как известно мнемоническое обозначение машинных команд, так что можно смело говорить что си очеь близок к железу ( не с++ а именно чистый си)
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Мелкие вопросы по цифровой технике.

Сообщение Z_h_e »

gfgeuf писал(а):Знаете СИ очень сильно похож на ассемблер,
Ассемблер очень сильно похож на машный код (некотрые считают это одно и тоже, но это не так) , а Си все ж язык высокого уровня.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Аватара пользователя
Goldsmith
Опытный кот
Сообщения: 736
Зарегистрирован: Пн янв 10, 2011 03:06:36
Откуда: Ростов-на-Дону
Контактная информация:

Re: Мелкие вопросы по цифровой технике.

Сообщение Goldsmith »

dimitriy91 писал(а):Знаете СИ очень сильно похож на ассемблер, я вот смотрю на конструкции СИ и насквозь вижу ассемблер...
можно смело говорить что си очеь близок к железу
Ничего удивительного, он именно так и задумывался:
Язык "C" не является ни языком "очень высокого уровня", ни "большим" языком, и не предназначается для некоторой специальной области применения.
...
Язык "C" - это язык относительно "низкого уровня". В такой характеристике нет ничего оскорбительного; это просто означает, что "C" имеет дело с объектами того же вида, что и большинство ЭВМ, а именно, с символами, числами и адресами. Они могут объединяться и пересылаться посредством обычных арифметических и логических операций, осуществляемых реальными ЭВМ.
(Керниган, Ричи. Язык C).

Так что Вы вполне верно поняли его суть.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
Реклама
Аватара пользователя
gfgeuf
Друг Кота
Сообщения: 3695
Зарегистрирован: Пн авг 29, 2011 10:35:30
Откуда: Україна Дикий Захід - Чортків - Джурин

Re: Мелкие вопросы по цифровой технике.

Сообщение gfgeuf »

Z_h_e писал(а):
gfgeuf писал(а):Знаете СИ очень сильно похож на ассемблер,
Ассемблер очень сильно похож на машный код (некотрые считают это одно и тоже, но это не так) , а Си все ж язык высокого уровня.
Мне ,конечно ,лестно узнать , что я настолько сведущ в цифровых языках ,но цитата всё таки не моя :shock: :)))
пути ТОКА неисповедимы.
Злословец есть самый лютый из диких зверей,
а льстец - самый опасный из ручных животных. (ДИОГЕН)
Аватара пользователя
dimitriy91
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Ср июн 08, 2011 15:37:56
Откуда: ДВ

Re: Мелкие вопросы по цифровой технике.

Сообщение dimitriy91 »

Прошу прощения , я ночной зомби.
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Мелкие вопросы по цифровой технике.

Сообщение Z_h_e »

gfgeuf, извиняюсь. Как так получилось, я не знаю. То ли глюк на сайте, ибо тэги не набирал вручную. То ли кривые пальцы с какой-то специфической изогнутостью. :shock:
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
dimitriy91
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Ср июн 08, 2011 15:37:56
Откуда: ДВ

Re: Мелкие вопросы по цифровой технике.

Сообщение dimitriy91 »

Есть интерфейс :
СпойлерPORT(
CLK : in STD_LOGIC;
x0 : in STD_LOGIC;
x1 : in STD_LOGIC;
x2 : in STD_LOGIC;
out_TR : out std_logic_vector(9 downto 0);
stat : out STD_LOGIC_VECTOR (0 to 1);
fun_ex : out STD_LOGIC_VECTOR (0 to 1);
DATA : inout STD_LOGIC_VECTOR (0 to 7);
YD : out STD_LOGIC_VECTOR (0 to 7)
);

есть сигнал:

signal DATA : STD_LOGIC_VECTOR(0 to 7) := "10111110";

есть карта портов:

uut: SHIFT_REGISTER_24_bit PORT MAP (
CLK => CLK,
x0 => x0,
x1 => x1,
x2 => x2,
out_TR => out_TR,
stat => stat,
fun_ex => fun_ex,
DATA => DATA,
YD => YD
);

есть процесс с инициализацией вх воздействий (тест бенч):

px1 : process
begin
x2 <= '1' ;
x1 <= '0' ;
DATA <= "10111110";
wait for CLK_period ;
x2 <= '1' ;
x1 <= '0' ;
DATA <= "11111111";
wait for CLK_period ;
x2 <= '1' ;
x1 <= '0' ;
DATA <= "11111111";
wait for CLK_period ;
x2 <= '1' ;
x1 <= '1' ;
wait for CLK_period ;
x2 <= '1' ;
x1 <= '1' ;
wait for CLK_period ;
x2 <= '0' ;
x1 <= '0' ;
wait for CLK_period ;
x2 <= '0' ;
x1 <= '0' ;
wait for CLK_period ;
x2 <= '0' ;
x1 <= '0' ;
wait for CLK_period ;
end process;

END;
почему DATA остаётся не инициализированной "U"




НАшёл буржуйский сайт , где такая же проблема :
http://www.velocityreviews.com/forums/t ... elsim.html
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7360
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Мелкие вопросы по цифровой технике.

Сообщение uldemir »

Потому что DATA inout? правильно?
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Аватара пользователя
dimitriy91
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Ср июн 08, 2011 15:37:56
Откуда: ДВ

Re: Мелкие вопросы по цифровой технике.

Сообщение dimitriy91 »

Решения проблемы так и не нашёл, проблема как то связано с inout
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7360
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Мелкие вопросы по цифровой технике.

Сообщение uldemir »

Возможно у вас возникает неоднозначность с сигналом создаваемом со стороны модуля тестбенча и испытуемого модуля. Иногда, даже если вам кажется, что там однозначно, формально может возникать конфликт и тогда симулятор не присваивает никакого значения и выдаёт неопределённость.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Аватара пользователя
dimitriy91
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Ср июн 08, 2011 15:37:56
Откуда: ДВ

Re: Мелкие вопросы по цифровой технике.

Сообщение dimitriy91 »

Но в случае неоднозначности используется символ "X"
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Мелкие вопросы по цифровой технике.

Сообщение Meteor »

2 dimitriy91
Делаю так. (Моделсим под квартус)
1) Объявляю сигнал например signal Dio:std_logic_vector(15 downto 0):="1111111111111111"; Аналогично определяю сигнал управления signal ena:std_logic; от которого будет пляска двунаправленной шины
2) В назначении портов пишу PORT MAP( тра-ля-ля, DATA=>Dio, control=>ena);
Ниже карты подключения компонента DATA<=Dio; для отсылки значений с сигнальной шины к порту ввода/вывода.
3) Далее в процессе описываю wait until ena='0';допустим при этом д.б. z состояние Dio<="ZZZZZZZZZZZZZZZZ";
wait until ena='1'; Dio<= тут назначается от обработки в процессе.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
dimitriy91
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Ср июн 08, 2011 15:37:56
Откуда: ДВ

Re: Мелкие вопросы по цифровой технике.

Сообщение dimitriy91 »

Так я вроде бы аналогично ( хоть и неявно так же делал)
px1 : process
begin
x2 <= '1' ;
x1 <= '0' ;
DATA <= "10111110";
wait for CLK_period ;
x2 <= '1' ;
x1 <= '0' ;
DATA <= "11111111";
wait for CLK_period ;
x2 <= '1' ;
x1 <= '0' ;
DATA <= "11111111";
wait for CLK_period ;
x2 <= '1' ;
x1 <= '1' ;
wait for CLK_period ;
x2 <= '1' ;
x1 <= '1' ;
wait for CLK_period ;
x2 <= '0' ;
x1 <= '0' ;
wait for CLK_period ;
x2 <= '0' ;
x1 <= '0' ;
wait for CLK_period ;
x2 <= '0' ;
x1 <= '0' ;
wait for CLK_period ;
end process;
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Мелкие вопросы по цифровой технике.

Сообщение Meteor »

У вас тут легко запутаться - есть DATA сигнал, и есть DATA порт.
Переименуйте сигнал DATA любым именем (но не DATA) и отсылайте данные из компонента в этот сигнал. А уже вне карты портов, отошлете данные с сигнала в порт DATA.
Надеюсь понятно объяснил что как куда и зачем
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
dimitriy91
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Ср июн 08, 2011 15:37:56
Откуда: ДВ

Re: Мелкие вопросы по цифровой технике.

Сообщение dimitriy91 »

Подскажете ещё один момент пожалуйста.
СпойлерИзображение
СпойлерИзображение
На фигурах представлена схема, параллельная загрузка в регистры через буфера. При описание на VHDL столкнулся с проблемой. Красными точками на схеме показаны места соединения выходов нижнего регистра со входами верхних( сдвиг как вы уже наверное догадались) , в схеме ошибок нет ( тестировал в мультисиме) , не знаю как грамотно описать на VHDL ( пишу первый раз на этом языке). Т.е. на времянках видно ( помечено ) при загрузки в первый регистр нижние отключены , и находятся в 3 состоянии, далее отключается первый , вкл второй , откл второй вкл третий . Т.е. загрузка три байта в три регистра параллельно за три такта. Но описал неграмотно, т.к. сигнал 'U' с нижнего регистра влияет при загрузки . Хотя должен находиться в 3 состоянии,управляет схемой автомат, он отлажен и работает :
Спойлер
  • -- выходные линии с буферов ( 4 штук по 8 бит)
    signal lineBUFQ4 : STD_LOGIC_VECTOR ( 0 to 7);
    --выходные линии со сдвиговых регистров
    signal lineREG1 : STD_LOGIC_VECTOR ( 0 to 7);
    signal lineREG2 : STD_LOGIC_VECTOR ( 0 to 7);
    signal lineREG3 : STD_LOGIC_VECTOR ( 0 to 7);
    --управляющие линии с автомата
    signal line_avtomat_control : STD_LOGIC_VECTOR ( 9 downto 0) ;
    -- линии управления буферами с декодера
    signal lineDEC : STD_LOGIC_VECTOR ( 0 to 7) ;
    -- линии из порта SUM_ODD , контроллера нечётности
    signal line_paritet : STD_LOGIC ;
    -- линии из схемы контроля чётности (триггеров)
    signal line_trigger : STD_LOGIC_VECTOR ( 0 to 2);
    -- линии функции возбуждения памяти (триггеров)
    signal exсit_fun_line : STD_LOGIC_VECTOR ( 0 to 1) := "11";
    -- линия текущего состояния памяти (триггеров)
    signal st : STD_LOGIC_VECTOR ( 0 to 1) ;
    signal RESET,SET : STD_LOGIC := '1';

    begin

    -- объявляем буфера и показываем входные и выходные связи

    BUF1 : buffer_8_BIT
    port map( D => DATA, CLK => CLK, OE => lineDEC(0),RESET => '0',Q => lineREG1);
    BUF2 : buffer_8_BIT
    port map( D => DATA, CLK => CLK, OE => lineDEC(1),RESET => '0',Q => lineREG2);
    BUF3 : buffer_8_BIT
    port map( D => DATA, CLK => CLK, OE => lineDEC(2),RESET => '0',Q => lineREG3);

    BUF4 : buffer_8_BIT
    port map( D(0) => lineREG3(7),D(1) => lineREG1(0),D(2) => lineREG1(1),D(3) => lineREG1(2),
    D(4) => lineREG1(3),D(5) => lineREG1(4),D(6) => lineREG1(5),D(7) => lineREG1(6),
    CLK => CLK, OE => lineDEC(3),RESET => '0',Q => lineBUFQ4);
    BUF5 : buffer_8_BIT
    port map( D(0) => lineREG1(7),D(1) => lineREG2(0),D(2) => lineREG2(1),D(3) => lineREG2(2),
    D(4) => lineREG2(3),D(5) => lineREG2(4),D(6) => lineREG2(5),D(7) => lineREG2(6),
    CLK => CLK, OE => lineDEC(4),RESET => '0',Q => lineBUFQ4);
    BUF6 : buffer_8_BIT
    port map( D(0) => lineREG2(7),D(1) => lineREG3(0),D(2) => lineREG3(1),D(3) => lineREG3(2),
    D(4) => lineREG3(3),D(5) => lineREG3(4),D(6) => lineREG3(5),D(7) => lineREG3(6),
    CLK => CLK, OE => lineDEC(5),RESET => '0',Q => lineBUFQ4);


    -- объявляем регистры и показываем входные и выходные связи


    REG1 : REGISTR_8_BIT
    port map( D(0) => lineREG1(0),D(1) => lineREG1(1), D(2) => lineREG1(2), D(3) => lineREG1(3),
    D(4) => lineREG1(4),D(5) => lineREG1(5), D(6) => lineREG1(6), D(7) => lineREG1(7),
    CLK => CLK, OE => line_avtomat_control(3),RESET => '0',
    Q(0) => lineREG3(7),Q(1) => lineREG1(0),Q(2) => lineREG1(1),Q(3) => lineREG1(2),
    Q(4) => lineREG1(3),Q(5) => lineREG1(4),Q(6) => lineREG1(5),Q(7) => lineREG1(6) );

    REG2 : REGISTR_8_BIT
    port map( D(0) => lineREG2(0),D(1) => lineREG2(1), D(2) => lineREG2(2), D(3) => lineREG2(3),
    D(4) => lineREG2(4),D(5) => lineREG2(5), D(6) => lineREG2(6), D(7) => lineREG2(7),
    CLK => CLK, OE => line_avtomat_control(2),RESET => '0',
    Q(0) => lineREG1(7),Q(1) => lineREG2(0),Q(2) => lineREG2(1),Q(3) => lineREG2(2),
    Q(4) => lineREG2(3),Q(5) => lineREG2(4),Q(6) => lineREG2(5),Q(7) => lineREG2(6) );

    REG3 : REGISTR_8_BIT
    port map( D(0) => lineREG3(0),D(1) => lineREG3(1), D(2) => lineREG3(2), D(3) => lineREG3(3),
    D(4) => lineREG3(4),D(5) => lineREG3(5), D(6) => lineREG3(6), D(7) => lineREG3(7),
    CLK => CLK, OE => line_avtomat_control(1),RESET => '0',
    Q(0) => lineREG2(7),Q(1) => lineREG3(0),Q(2) => lineREG3(1),Q(3) => lineREG3(2),
    Q(4) => lineREG3(3),Q(5) => lineREG3(4),Q(6) => lineREG3(5),Q(7) => lineREG3(6) );

    PARIT : parity_checkers
    port map( A => lineBUFQ4,EVEN => '0',ODD => '1',SUM_EVEN => open ,SUM_ODD => line_paritet );

    DEC : decoder
    port map( A => line_avtomat_control(9), B => line_avtomat_control(8), C => line_avtomat_control(7), Y => lineDEC );

    PARIT_TRIG1 : LATCH
    port map( CLK => not lineDEC(3), D => line_paritet,RESET => RESET,SET => '0', Q => line_trigger(0));
    PARIT_TRIG2 : LATCH
    port map( CLK => not lineDEC(4), D => line_paritet,RESET => RESET,SET => '0', Q => line_trigger(1));
    PARIT_TRIG3 : LATCH
    port map( CLK => not lineDEC(5), D => line_paritet,RESET => RESET,SET => '0', Q => line_trigger(2));

    TRIG1_AVT : DFF
    port map( CLK => CLK,D => exсit_fun_line(0),RESET => '0',SET => SET, Q => st(0));
    TRIG2_AVT : DFF
    port map( CLK => CLK,D => exсit_fun_line(1),RESET => '0',SET => SET, Q => st(1));
Вложения
Безымянный2.png
(38.42 КБ) 379 скачиваний
Безымянный1.png
(25.72 КБ) 363 скачивания
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Мелкие вопросы по цифровой технике.

Сообщение Meteor »

2 dimitriy91, правильно ли я понимаю, что вы сейчас пытаетесь переложить в ПЛИС некую схему, выполненную на "традиционных" микросхемах? И ваша задача организовать линии связи с z-состоянием внутри самой ПЛИС, даже точнее между отдельными блоками не выходящими наружу?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
dimitriy91
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Ср июн 08, 2011 15:37:56
Откуда: ДВ

Re: Мелкие вопросы по цифровой технике.

Сообщение dimitriy91 »

Так вопрос снят, как всегда невнимательность.
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
Ответить

Вернуться в «Цифровая техника»