Jump to content

    
Sign in to follow this  
Jools

Управление синтезом в VHDL

Recommended Posts

Привет!

Можно ли как-нибудь подсказать компилятору генерить вместо сумматора счетчик в следующем описании

 

std_logic_vector (2 downto 0) length := length + (или -) "001";

или

integer 0 to 7 length := length + (или -) 1;

 

Спасибо!

Share this post


Link to post
Share on other sites

вообще-то счетчик есть аккумулятор только когда на одном из входов у него 1 а описать это так

process©

begin

if (C'event and C='1') then

Length<= length+'1'

end if;

end process;

только не уверен что пройдет Length поскольку это атрбут в вхдл

Share this post


Link to post
Share on other sites

А вы уверены, что синтезируется именно сумматор? Вообще синтезатор хорошо распознает такие вещи.

 

signal length : std_logic_vector (2 downto 0)

length <= length + "001";

 

Попробуйте

length <= length + '1';

или

length <= length + 1;

Share this post


Link to post
Share on other sites
вообще-то счетчик есть аккумулятор только когда на одном из входов у него 1

Позволю себе не согласиться. Насколько я еще помню из институтского курса импульсных устройств, синтез счетчика осуществляется соовершенно по-другому, чем синтез сумматора.

Счетчик --- это не сумматор с регистром на выходе.

Share this post


Link to post
Share on other sites
вообще-то счетчик есть аккумулятор только когда на одном из входов у него 1

Позволю себе не согласиться. Насколько я еще помню из институтского курса импульсных устройств, синтез счетчика осуществляется соовершенно по-другому, чем синтез сумматора.

Счетчик --- это не сумматор с регистром на выходе.

 

Хмм тут зависит уже от того, как посмотреть. По идее суматор с регистром, на одном входе которого 1, функционально эквивалентен, счетчику на тригерах, но синтезирватсья можут по разному (тут уже нужно смотреть RTL), по тут еще завист от свойств самого счетчика и архитектуры плис

Share this post


Link to post
Share on other sites
А вы уверены, что синтезируется именно сумматор? Вообще синтезатор хорошо распознает такие вещи.

 

Работаю в Quartus 5.0 - Смотрел RTL View'ом

Пробовал Simplify 8.1 - опять сумматор

Share this post


Link to post
Share on other sites
[Работаю в Quartus 5.0 - Смотрел RTL View'ом

Пробовал Simplify 8.1  - опять сумматор

В Synplify - Взгляни на Gate Netlist. Тогда понято будет, что там получилось на самом деле.

Share this post


Link to post
Share on other sites
А вы уверены, что синтезируется именно сумматор? Вообще синтезатор хорошо распознает такие вещи.

 

Работаю в Quartus 5.0 - Смотрел RTL View'ом

Пробовал Simplify 8.1 - опять сумматор

А если чип эдитором глянуть ? или по топологии ?

Share this post


Link to post
Share on other sites
А вы уверены, что синтезируется именно сумматор? Вообще синтезатор хорошо распознает такие вещи.

 

Работаю в Quartus 5.0 - Смотрел RTL View'ом

Пробовал Simplify 8.1 - опять сумматор

Я так и думал. RTL --- это RTL и есть, он кажет то, что написано. Поэтому надо смотреть, как советовали коллеги, technology view. Там все станет ясно.

Share this post


Link to post
Share on other sites

Summator s registrom na vihode - eto s'hema *universal'nogo* schetchika. On rabotaet pri lyuboy skvazhnosti taktovogo signala i obespechivaet polnost'yu sinhronniy vihod. V drugoy modificatsii - eto posledovatel'no vklyuchennie triggera, gde na Clk vhod sleduyuschego triggera podaetsya signal s vihoda prediduschego. Nedostatok etoy s'hemi - assinhronnost' po vihodu. Sootvetstvenno, sintezator obuchen delat' polnost'yu sinhronniy vihod, vot on i generit summator s registrom po vihodu.

Share this post


Link to post
Share on other sites
Summator s registrom na vihode - eto s'hema *universal'nogo* schetchika.

В широком смысле --- да.

V drugoy modificatsii - eto posledovatel'no vklyuchennie triggera, gde na Clk vhod sleduyuschego triggera podaetsya signal s vihoda prediduschego.

Это совершенно другой тип счетчика. Речь не о нем.

Sootvetstvenno, sintezator obuchen delat' polnost'yu sinhronniy vihod, vot on i generit summator s registrom po vihodu.

Да не делает он сумматор. Он делает синхронный счетчик. Он его показывает в RTL View'вере как сумматор, потому что так код написан. На самом деле получается вот что:

 

(говорят, я не могу приаттачить pdf, поэтому аттачу ps)

counter_s.ps

Share this post


Link to post
Share on other sites
Да не делает он сумматор. Он делает синхронный счетчик. Он его показывает в RTL View'вере как сумматор, потому что так код написан. На самом деле получается вот что:

 

(говорят, я не могу приаттачить pdf, поэтому аттачу ps)

 

Ostalos' tol'ko ponyat' chem mozhno posmotret' PostScript dlya teh, kto ne sidit po *nix'om :(

Share this post


Link to post
Share on other sites
Ostalos' tol'ko ponyat' chem mozhno posmotret' PostScript dlya teh, kto ne sidit po *nix'om :(

GhostView.

 

Приаттачил зазипованный pdf. Зип, оказывается, можно.

 

Но вы и сами можете посмотреть, просинтезируете простейший счетчик.

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned."+";

entity counter_s is
 generic(
          w : integer := 4
         );
 port(
      reset :  in std_logic;
      clk   :  in std_logic;
      o     : out std_logic_vector(w - 1 downto 0)
     );
end counter_s;

architecture rtl of counter_s is

signal cnt : std_logic_vector(w - 1 downto 0);

begin

    process(reset, clk)
    begin
         if (reset = '1') then
            cnt <= (others => '0');
         elsif (rising_edge(clk)) then
               cnt <= cnt + '1';
         end if;
    end process;

    o <= cnt;

end rtl;

counter_s.pdf.zip

Share this post


Link to post
Share on other sites

A Vi znaete kak viglyadit summator ? Esli vnimatel'no prismotret'sya, to mozhno zametit', chto eto on i est'. Prosto v dannom sluchae Vi vidite raskladku etogo summatora v kristalle s razbieniem na sostavnie chasti. Standartniy summator sostoit iz "XOR" i s'hemi propagirovaniya perenosa, sobrannoy na logicheskih "&". Sobstvenno eto tam i est', prosto nichego drugogo ne pridumali.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this