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

 
 
> Помогите сделать дешифратор, На ПЛИСе
Павел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
Ответов
x736C
сообщение Mar 9 2010, 21:18
Сообщение #2


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

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Все легко уминается с небольшим запасом сдвигом и подсчетом.


out = 4'b0000; наверное надо поправить, хотя на результат может и не повлиять smile.gif

Писал на скорую руку. Сыро и требует доработки, но работает в нужном направлении.
Код
module m52_6(rst,clk,in_i,out_o,keyEv);

    input        rst, clk;
    input  [51:0] in_i;
    output [5:0]  out_o;
    output        keyEv;

reg [51:0] inReg;
reg [5:0]  keyCtr;

assign    keyEv = ~inReg[51];

always @ (posedge clk)
    if (rst)           inReg <= in_i;
    else begin
        if (keyEv)     inReg <= in_i;
        else           inReg[51:0] <= {inReg[51:0], inReg[51]}; end

always @ (posedge clk)
    if (rst)        keyCtr <= 0;
    else if(~keyEv) keyCtr <= keyCtr + 1;
    else            keyCtr <= 0;
    assign out_o = keyCtr;
    
endmodule
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
- - des333   Код`define VAR1 module tq( input clk_...   Mar 9 2010, 19:53
- - Павел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
- - 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 Текстовая версия Сейчас: 23rd July 2025 - 10:56
Рейтинг@Mail.ru


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