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

 
 
> Помогите сделать дешифратор, На ПЛИСе
Павел34
сообщение Mar 9 2010, 13:53
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 9-03-10
Пользователь №: 55 869



Нужна помощь. Благодаря своей недальновидности, уже сделал устройство, в котором стоит ПЛИС EPM7064STC100-10. С прошивкой думал разберусь, однако не получается. В общем надо сделать дешифратор 52в6. На одном из 52 входов появлется низкий уровень соответственно на выходе в двоичном коде надо получить номер входа с низким уровнем.
Заданием обычной таблицы не получается скомпилировать
Цитата
SUBDESIGN upr_kommutator
(
in1[51..0] : INPUT;
out[5..0] : OUTPUT;
)
BEGIN
TABLE
in1[] => out[];
B"0111111111111111111111111111111111111111111111" => B"000001";


Подскажите как сделать, горю!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
des333
сообщение Mar 9 2010, 19:53
Сообщение #2


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Код
`define VAR1

module tq(
  input         clk_i,
  input         rst_i,
  input  [15:0] in_i,
  output [3:0]  out_o
);

logic [15:0] in;
logic [3:0]  out;

always_ff @(posedge clk_i, posedge rst_i)
  if(rst_i)
    in <= '0;
  else
    in <= in_i;  


`ifdef VAR1

always_comb
  begin
    out = 4'b0000;
    casex (in)
        16'bxxxxxxxxxxxxxxx1: out = 4'b0000;
        16'bxxxxxxxxxxxxxx10: out = 4'b0001;
        16'bxxxxxxxxxxxxx100: out = 4'b0010;
        16'bxxxxxxxxxxxx1000: out = 4'b0011;
        16'bxxxxxxxxxxx10000: out = 4'b0100;
        16'bxxxxxxxxxx100000: out = 4'b0101;
        16'bxxxxxxxxx1000000: out = 4'b0110;
        16'bxxxxxxxx10000000: out = 4'b0111;
        16'bxxxxxxx100000000: out = 4'b1000;
        16'bxxxxxx1000000000: out = 4'b1001;
        16'bxxxxx10000000000: out = 4'b1010;
        16'bxxxx100000000000: out = 4'b1011;
        16'bxxx1000000000000: out = 4'b1100;
        16'bxx10000000000000: out = 4'b1101;
        16'bx100000000000000: out = 4'b1110;
        16'b1000000000000000: out = 4'b1111;
    endcase
  end
  
`else

always_comb
  begin
    out = 4'b0000;
    for(int i = 15; i>=0; i--)
      if(in[i])
        out = i;    
  end
  
`endif


always_ff @(posedge clk_i, posedge rst_i)
  if(rst_i)
    out_o <= '0;
  else
    out_o <= out;  


endmodule


Хм... Странно - второй вариант и меньше по ресурсам и частота выше. smile.gif


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Павел34   Помогите сделать дешифратор   Mar 9 2010, 13:53
- - des333   Павел34: У Вас не дешифратор, а шифратор. http:/...   Mar 9 2010, 18:48
|- - Павел34   Цитата(des333 @ Mar 9 2010, 21:48) Павел3...   Mar 9 2010, 19:15
|- - SM   Цитата(Павел34 @ Mar 9 2010, 22:15) Спаси...   Mar 9 2010, 19:53
|- - sazh   Цитата(Павел34 @ Mar 9 2010, 22:15) Верно...   Mar 9 2010, 20:19
|- - SM   Цитата(sazh @ Mar 9 2010, 23:19) Должно в...   Mar 9 2010, 20:23
|- - sazh   Цитата(SM @ Mar 9 2010, 23:23) По любому ...   Mar 9 2010, 20:45
- - SM   если на AHDL, судя по корневому посту, то как-то т...   Mar 9 2010, 19:09
|- - des333   Цитата(SM @ Mar 9 2010, 22:09) если на AH...   Mar 9 2010, 19:39
- - Павел34   Это обработка клавиш, поэтому задержка в миллисеку...   Mar 9 2010, 19:29
- - x736C   1. Какая тактовая частота? 2. Двойное нажатие неак...   Mar 9 2010, 19:32
- - Павел34   двойное нажатие пофик. у меня 52 входа(нажата одн...   Mar 9 2010, 19:59
|- - SM   Цитата(Павел34 @ Mar 9 2010, 22:59) у мен...   Mar 9 2010, 20:09
- - x736C   По «плану» или по фронту-отсчету-сигналу и т. п.? ...   Mar 9 2010, 20:09
- - des333   Кодmodule tq( input [N-1:0] in,...   Mar 9 2010, 21:04
|- - sazh   Цитата(des333 @ Mar 10 2010, 00:04) почем...   Mar 9 2010, 21:42
|- - des333   Цитата(sazh @ Mar 10 2010, 00:42) Значит,...   Mar 9 2010, 21:59
- - x736C   Все легко уминается с небольшим запасом сдвигом и ...   Mar 9 2010, 21:18
- - SM   Ну вот, искали как дешифратор сделать, а нашли глю...   Mar 10 2010, 07:56
- - Adlex   Вообще-то это получается шифратор   Mar 10 2010, 15:26
- - des333   Цитата(Adlex @ Mar 10 2010, 18:26) Вообще...   Mar 10 2010, 20:18


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

 


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


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