реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> помогите правильно правильно составить схему, выделение регистра с максимальным значением
sakol
сообщение Apr 3 2012, 11:41
Сообщение #31


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 19-02-12
Пользователь №: 70 349



именно эта мысль мне и пришла утром пока шел в универ sm.gif
и загвоздка была именно в этом
Go to the top of the page
 
+Quote Post
sakol
сообщение Apr 8 2012, 15:18
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 19-02-12
Пользователь №: 70 349



подскажите пожалуйста, каким образом можно реализовать линию задержки?
мне необходимо, чтобы сигнал с тригера поступал чз определенное время.
нашел такой вариант
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
XVR
сообщение Apr 8 2012, 15:37
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(sakol @ Apr 8 2012, 19:18) *
подскажите пожалуйста, каким образом можно реализовать линию задержки?
Если вам нужна задержка на целое число тактов, то схема правильная (1 регистр в цепи дает задержку на 1 такт)

Go to the top of the page
 
+Quote Post
sakol
сообщение Apr 8 2012, 15:54
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 19-02-12
Пользователь №: 70 349



а если мне нужна задержка, равная времени прохождению данных чз мультиплексор? это ж, наверное, просто так не измерить? и еще одна, равная прохождению всей схемы (по цепи ОС разрешает запись в регистр)



Сообщение отредактировал sakol - Apr 8 2012, 19:05
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
XVR
сообщение Apr 9 2012, 09:22
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(sakol @ Apr 8 2012, 19:54) *
а если мне нужна задержка, равная времени прохождению данных чз мультиплексор?
Если работоспособность вашей схемы зависит от таких задержек, то ваша схема работать вообще не будет. Читайте букварь на тему 'синхронный дезайн' (других в FPGA не бывает)

Go to the top of the page
 
+Quote Post
sakol
сообщение Apr 9 2012, 14:56
Сообщение #36


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 19-02-12
Пользователь №: 70 349



понял sm.gif
Go to the top of the page
 
+Quote Post
sakol
сообщение Apr 23 2012, 19:47
Сообщение #37


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 19-02-12
Пользователь №: 70 349



спустя некоторое время вернулся к схеме sm.gif
так и не получается правильно описать свой элемент (мультиплексор с шинами)
подскажите пожалуйста, кто разбирается, как правильно описать:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity copy_of_m2_1 is
Port ( D0 : in STD_LOGIC_VECTOR (15 downto 0);
D1 : in STD_LOGIC_VECTOR (15 downto 0);
S : in STD_LOGIC_VECTOR (1 downto 0);
Q : out STD_LOGIC_VECTOR (15 downto 0));
end copy_of_m2_1;

architecture Behavioral of copy_of_m2_1 is
begin
when S==0 then Q = D0; else
when S==1 then Q = D1;

end Behavioral;

выдает ошибку - ERROR:HDLParsers:164 - "F:/xilinx/1111/copy_of_m2_1.vhd" Line 40. parse error, unexpected WHEN
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Apr 24 2012, 04:22
Сообщение #38


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(sakol @ Apr 23 2012, 23:47) *
так и не получается правильно описать свой элемент (мультиплексор с шинами)
Может, в книжку заглянуть, а не методом тыка?
Go to the top of the page
 
+Quote Post
stu
сообщение Apr 24 2012, 06:28
Сообщение #39


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 11-11-09
Пользователь №: 53 561



а нельзя написать как ниже?
Код
architecture Behavioral of copy_of_m2_1 is
begin
if S==0 then
   Q = D0;
else  -- elsif S==1 then
   Q = D1;
end if;
end Behavioral;

-----------------------------------------------------
для справки:
Код
     case expression is
           when choices =>
                sequential statements
           when choices =>
                sequential statements
                -- branches are allowed
           [ when others => sequential statements ]
     end case;


Код
     case SEL is
           when ”00” => Z <= A;
           when ”01” => Z <= B;      
           when ”10” => Z <= C;                  
           when ”11” => Z <= D;
           when others => Z <= ‘X’;
     end case;


Сообщение отредактировал stu - Apr 24 2012, 06:31


--------------------
Мы ведь работаем, чтобы жить, а не живем, чтобы работать??? ;)
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Apr 24 2012, 06:40
Сообщение #40


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(stu @ Apr 24 2012, 15:28) *
а нельзя написать как ниже?
...............

нельзя, вы сами то проверили как оно синтезится+симулируется?
з.ы. это vhdl а не verilog


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Apr 25 2012, 04:44
Сообщение #41


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Пишите так:

Код
architecture Behavioral of copy_of_m2_1 is
begin

Q <= D1 when to_x01(S(0))='1' else D0;

end Behavioral;

Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Apr 25 2012, 05:06
Сообщение #42


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(Hoodwin @ Apr 25 2012, 13:44) *
Пишите так:
...

что такое to_x01? и зачем оно там?
Код
architecture Behavioral of copy_of_m2_1 is
begin
Q <= D1 when S(0)='1' else D0;
end Behavioral;


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
stu
сообщение Apr 25 2012, 05:32
Сообщение #43


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 11-11-09
Пользователь №: 53 561



Цитата(Postoroniy_V @ Apr 24 2012, 10:40) *
нельзя, вы сами то проверили как оно синтезится+симулируется?
з.ы. это vhdl а не verilog


Совсем забыл VHDL. Исправил. Синтезируются в одинаковую схему

Код
architecture Behavioral of Vhdl1 is
begin
--    Q <= D0 when S=0 else D1;
    process (S)
    begin
        if S=0 then
           Q <= D0;
        else  -- elsif S==1 then
           Q <= D1;
        end if;
    end process;

end Behavioral;


--------------------
Мы ведь работаем, чтобы жить, а не живем, чтобы работать??? ;)
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Apr 25 2012, 07:35
Сообщение #44


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Цитата(Postoroniy_V @ Apr 25 2012, 09:06) *
что такое to_x01? и зачем оно там?


Ну это такая функция, которая приводит 9 вариантов std_logic к 3: 0,1,X.
помогает правильно моделировать проект, если в нем будут встречаться слабые 1 и 0 - H, L.
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Apr 25 2012, 07:51
Сообщение #45


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(Hoodwin @ Apr 25 2012, 16:35) *
Ну это такая функция, которая приводит 9 вариантов std_logic к 3: 0,1,X.
помогает правильно моделировать проект, если в нем будут встречаться слабые 1 и 0 - H, L.

в данном конкретном случае это крайне вредная информация для ТС. он мультиплексор описать не может.
а тут ещё какие то 9 вариантов std_logic biggrin.gif к тому же в моделировании


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01497 секунд с 7
ELECTRONIX ©2004-2016