Jools 0 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба Привет! Можно ли как-нибудь подсказать компилятору генерить вместо сумматора счетчик в следующем описании std_logic_vector (2 downto 0) length := length + (или -) "001"; или integer 0 to 7 length := length + (или -) 1; Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба вообще-то счетчик есть аккумулятор только когда на одном из входов у него 1 а описать это так process© begin if (C'event and C='1') then Length<= length+'1' end if; end process; только не уверен что пройдет Length поскольку это атрбут в вхдл Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба А вы уверены, что синтезируется именно сумматор? Вообще синтезатор хорошо распознает такие вещи. signal length : std_logic_vector (2 downto 0) length <= length + "001"; Попробуйте length <= length + '1'; или length <= length + 1; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба вообще-то счетчик есть аккумулятор только когда на одном из входов у него 1 Позволю себе не согласиться. Насколько я еще помню из институтского курса импульсных устройств, синтез счетчика осуществляется соовершенно по-другому, чем синтез сумматора. Счетчик --- это не сумматор с регистром на выходе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба вообще-то счетчик есть аккумулятор только когда на одном из входов у него 1 Позволю себе не согласиться. Насколько я еще помню из институтского курса импульсных устройств, синтез счетчика осуществляется соовершенно по-другому, чем синтез сумматора. Счетчик --- это не сумматор с регистром на выходе. <{POST_SNAPBACK}> Хмм тут зависит уже от того, как посмотреть. По идее суматор с регистром, на одном входе которого 1, функционально эквивалентен, счетчику на тригерах, но синтезирватсья можут по разному (тут уже нужно смотреть RTL), по тут еще завист от свойств самого счетчика и архитектуры плис Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jools 0 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба А вы уверены, что синтезируется именно сумматор? Вообще синтезатор хорошо распознает такие вещи. Работаю в Quartus 5.0 - Смотрел RTL View'ом Пробовал Simplify 8.1 - опять сумматор Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 45 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба [Работаю в Quartus 5.0 - Смотрел RTL View'ом Пробовал Simplify 8.1 - опять сумматор <{POST_SNAPBACK}> В Synplify - Взгляни на Gate Netlist. Тогда понято будет, что там получилось на самом деле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба А вы уверены, что синтезируется именно сумматор? Вообще синтезатор хорошо распознает такие вещи. Работаю в Quartus 5.0 - Смотрел RTL View'ом Пробовал Simplify 8.1 - опять сумматор <{POST_SNAPBACK}> А если чип эдитором глянуть ? или по топологии ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба А вы уверены, что синтезируется именно сумматор? Вообще синтезатор хорошо распознает такие вещи. Работаю в Quartus 5.0 - Смотрел RTL View'ом Пробовал Simplify 8.1 - опять сумматор <{POST_SNAPBACK}> Я так и думал. RTL --- это RTL и есть, он кажет то, что написано. Поэтому надо смотреть, как советовали коллеги, technology view. Там все станет ясно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_mirgorodsky 0 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_mirgorodsky 0 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба Да не делает он сумматор. Он делает синхронный счетчик. Он его показывает в RTL View'вере как сумматор, потому что так код написан. На самом деле получается вот что: (говорят, я не могу приаттачить pdf, поэтому аттачу ps) <{POST_SNAPBACK}> Ostalos' tol'ko ponyat' chem mozhno posmotret' PostScript dlya teh, kto ne sidit po *nix'om :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_mirgorodsky 0 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tvv 0 22 июля, 2005 Опубликовано 22 июля, 2005 · Жалоба Ostalos' tol'ko ponyat' chem mozhno posmotret' PostScript dlya teh, kto ne sidit po *nix'om :( <{POST_SNAPBACK}> gv filename.ps (gostviewer в линухе стоит по-умолчанию) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться