{"id":901,"date":"2015-11-09T10:05:05","date_gmt":"2015-11-09T10:05:05","guid":{"rendered":"http:\/\/coolt.ch\/notizen\/?p=901"},"modified":"2015-11-13T08:36:20","modified_gmt":"2015-11-13T08:36:20","slug":"vhdl-normales-dezimales-zaehlen","status":"publish","type":"post","link":"https:\/\/coolt.ch\/notizen\/vhdl-normales-dezimales-zaehlen\/","title":{"rendered":"VHDL: natural, unsigned, integer"},"content":{"rendered":"<p>Operiert man mit Indexes, Adressen, etc. so ist dies am einfachsten mit dez. Zahlen:<span class=\"lang:sh decode:true crayon-inline\">12 + 100 = 112;<\/span><br \/>\nDas selbe gilt auch f\u00fcr die Z\u00e4hler.<br \/>\nVHDL hat daf\u00fcr 3 Types:<span class=\"lang:sh decode:true crayon-inline \"> integer, unsigned, natural<\/span>\u00a0.<\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li><strong>Integer<\/strong><\/li>\n<\/ol>\n<pre class=\"lang:sh decode:true\">signal addr:        integer range 0 to 15;\r\naddr &lt;= to_integer(value_a);<\/pre>\n<p>Adresse kann Werte von\u00a0 0, 1, 2, &#8230; 15 annehmen.<\/p>\n<pre class=\"lang:sh decode:true \">cnt: integer range 0 to 3;<\/pre>\n<p>Der Z\u00e4hler z\u00e4hlt 0, 1, 2, 3 und beginnt wieder bei 0.<br \/>\n.<\/p>\n<p><strong>2. Unsigned<\/strong><\/p>\n<pre class=\"lang:sh decode:true\">-- 5 Werte\r\nsignal count:       unsigned(4 downto 0); \r\nsignal value_a:     unsigned(15 downto 0);\r\nsignal  value_b:     unsigned(15 downto 0);<\/pre>\n<p>Der Z\u00e4hler kann die Werte 4, 3, 2, 1, und 0 annahmen. Er besitzt 5 Zust\u00e4nde.<\/p>\n<pre class=\"lang:sh decode:true\">value_b &lt;= to_unsigned(max_value,  4); ????? not shure<\/pre>\n<p>.<\/p>\n<p><strong>3. Natural<\/strong><\/p>\n<pre class=\"lang:sh decode:true\">CONSTANT    max_value:        natural := 200;\r\nsignal      s_reg_index:      natural;\r\nsignal      s_next_reg_indes: natural;<\/pre>\n<pre class=\"lang:sh decode:true\">s_next_reg_index := s_reg_index + 1;<\/pre>\n<p>Zuweisung braucht ein<strong> :<\/strong> vor dem =\u00a0\u00a0 <span class=\"lang:sh decode:true  crayon-inline \">line_cnt := line_cnt + 1;<\/span>\u00a0\u00a0\u00a0\u00a0 <span class=\"top-set:false bottom-set:false lang:c decode:true crayon-inline\">reset := 1;<\/span><\/p>\n<p>&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Operiert man mit Indexes, Adressen, etc. so ist dies am einfachsten mit dez. Zahlen:12 + 100 = 112; Das selbe gilt auch f\u00fcr die Z\u00e4hler. VHDL hat daf\u00fcr 3 Types: integer, unsigned, natural\u00a0. &nbsp; Integer signal addr: integer range 0 to 15; addr &lt;= to_integer(value_a); Adresse kann Werte von\u00a0 0, 1, 2, &#8230; 15 annehmen. &hellip; <a href=\"https:\/\/coolt.ch\/notizen\/vhdl-normales-dezimales-zaehlen\/\" class=\"more-link\"><span class=\"screen-reader-text\">VHDL: natural, unsigned, integer<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[59],"tags":[11,3,74],"_links":{"self":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/901"}],"collection":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/comments?post=901"}],"version-history":[{"count":12,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/901\/revisions"}],"predecessor-version":[{"id":948,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/901\/revisions\/948"}],"wp:attachment":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/media?parent=901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/categories?post=901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/tags?post=901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}