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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Помогите сделать дешифратор, На ПЛИСе
sazh
сообщение Mar 9 2010, 20:45
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(SM @ Mar 9 2010, 23:23) *
По любому должно, главное не забыть проверить, что параллельные экспандеры разрешены в настройках синтезатора-маппера-фиттера.


Для 7000 я не нашел.
Error: Can't pack LABs
Go to the top of the page
 
+Quote Post
des333
сообщение Mar 9 2010, 21:04
Сообщение #17


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

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



Код
module tq(
  input  [N-1:0] in,
  output [5:0]  out
);

parameter N = 53;

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



endmodule


Что-то я под вечер вообще перестал соображать:
почему при N=53 все собирается и занимает 22 ячейки, а при N=52 - занимает 62 ячейки и не влазит?


--------------------
Go to the top of the page
 
+Quote Post
x736C
сообщение Mar 9 2010, 21:18
Сообщение #18


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

Группа: Участник
Сообщений: 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
sazh
сообщение Mar 9 2010, 21:42
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(des333 @ Mar 10 2010, 00:04) *
почему при N=53 все собирается и занимает 22 ячейки, а при N=52 - занимает 62 ячейки и не влазит?


Значит, если к 52 добавить константу единицами до 2**n, все получится и с генерейтом.
Go to the top of the page
 
+Quote Post
des333
сообщение Mar 9 2010, 21:59
Сообщение #20


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

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



Цитата(sazh @ Mar 10 2010, 00:42) *
Значит, если к 52 добавить константу единицами до 2**n, все получится и с генерейтом.

Не понятно 2 вещи:


1) Почему такая ситуация именно при 52-53?

2) Почему такой большой перепад в занятых ячейках?




UPD:


Вопросы отпали.

Ответов пока нет, но направление есть - на свежую голову додумаю.


В общем, вышеописанная ситуация была при оптимизации по ресурсам ("Area").

При "Speed" если N=53, то занято 25 макроячеек и влазит , а если N=52, то 29 ячеек и не влазит.

При "Balanced" если N=53, то занято 19 макроячеек, а если N=52, то 18 и все и там и там влазит.

blink.gif


Вот такая вот "веселуха" smile.gif


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 10 2010, 07:56
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Ну вот, искали как дешифратор сделать, а нашли глюк в квартусе smile.gif
Go to the top of the page
 
+Quote Post
Adlex
сообщение Mar 10 2010, 15:26
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 500
Регистрация: 8-08-05
Пользователь №: 7 451



Вообще-то это получается шифратор
Go to the top of the page
 
+Quote Post
des333
сообщение Mar 10 2010, 20:18
Сообщение #23


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

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



Цитата(Adlex @ Mar 10 2010, 18:26) *
Вообще-то это получается шифратор


Да, вроде как, во втором сообщение автору это уже сообщили.  wink.gif


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

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

 


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


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