|
if r.hwrite = '1' then
case r.size(1 downto 0) is
when "00" => bs (conv_integer(r.addr(1 downto 0))) := '1';
when "01" => bs := r.addr(1) & r.addr(1) & not (r.addr(1) & r.addr(1));
when others => bs := (others => '1');
end case;
v.hready := not (v.hsel and not ahbsi.hwrite);
v.hwrite := v.hwrite and v.hready;
end if;
----------------
а выглядит это так (заменил угловые скобочки на круглые, чтобы html не обрабатывался):
(pre)
(font color="#8b0000")if(/font) r.hwrite = '1' (font color="#8b0000")then(/font)
(font color="#8b0000")case(/font) r.size(1 (font color="#8b0000")downto(/font) 0) (font color="#8b0000")is(/font)
(font color="#8b0000")when(/font) (font color="#008b00")"00"(/font) => bs ((font color="#008b8b")conv_integer(/font)(r.addr(1 (font color="#8b0000")downto(/font) 0))) := '1';
(font color="#8b0000")when(/font) (font color="#008b00")"01"(/font) => bs := r.addr(1) & r.addr(1) & (font color="#8b0000")not(/font) (r.addr(1) & r.addr(1));
(font color="#8b0000")when(/font) (font color="#8b0000")others(/font) => bs := ((font color="#8b0000")others(/font) => '1');
(font color="#8b0000")end(/font) (font color="#8b0000")case(/font);
v.hready := (font color="#8b0000")not(/font) (v.hsel (font color="#8b0000")and(/font) (font color="#8b0000")not(/font) ahbsi.hwrite);
v.hwrite := v.hwrite (font color="#8b0000")and(/font) v.hready;
(font color="#8b0000")end(/font) (font color="#8b0000")if(/font);(/pre)