Está en la página 1de 18

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity Onda_cuadrada is
port (
CLK_OUT : in STD_LOGIC;
Reset : in STD_LOGIC;
cuadrada : out STD_LOGIC_VECTOR(7 downto 0));
end Onda_ cuadrada;

architecture Behavioral of Onda_ cuadrada r is


signal contador: natural;
begin

--Tabla de la seal sinusoidal con 25 muestras.

process(contador)
begin

case(contador) is
when 0 => cuadrada <= "00000000" ;
when 1 => cuadrada <= "00000011" ;
when 2 => cuadrada <= "00000110" ;
when 3 => cuadrada <= "00001001" ;
when 4 => cuadrada <= "00001101" ;
when 5 => cuadrada <= "00010000" ;
when 6 => cuadrada <= "00010011" ;
when 7 => cuadrada <= "00010111" ;
when 8 => cuadrada <= "00011010" ;

when 9 => cuadrada <= "00011101" ;


when 10 => cuadrada <= "00100001" ;
when 11 => cuadrada <= "00100001" ;
when 12 => cuadrada <= "00100001" ;
when 13 => cuadrada <= "00100001" ;
when 14 => cuadrada <= "00100001" ;
when 15 => cuadrada <= "00100001" ;
when 16 => cuadrada <= "00100001" ;
when 17 => cuadrada <= "00100001" ;
when 18 => cuadrada <= "00100001" ;
when 19 => cuadrada <= "00100001" ;
when 20 => cuadrada <= "00100001" ;
when 21 => cuadrada <= "00100001" ;
when 22 => cuadrada <= "00100001" ;

when 23 => cuadrada <= "00100001" ;


when 24 => cuadrada <= "00100001" ;
when 25 => cuadrada <= "00100001" ;
when 26 => cuadrada <= "00100001" ;
when 27 => cuadrada <= "00100001" ;
when 28 => cuadrada <= "00100001" ;
when 29 => cuadrada <= "00100001" ;
when 30 => cuadrada <= "00100001" ;
when 31 => cuadrada <= "00100001" ;
when 32 => cuadrada <= "00100001" ;
when 33 => cuadrada <= "00100001" ;
when 34 => cuadrada <= "00100001" ;
when 35 => cuadrada <= "00100001" ;
when 36 => cuadrada <= "00100001" ;
when 37 => cuadrada <= "00100001" ;
when 38 => cuadrada <= "00100001" ;
when 39 => cuadrada <= "00100001" ;

when 40 => cuadrada <= "00100001" ;


when 41 => cuadrada <= "00100001" ;
when 42 => cuadrada <= "00100001" ;
when 43 => cuadrada <= "00100001" ;
when 44 => cuadrada <= "00100001" ;
when 45 => cuadrada <= "00100001" ;
when 46 => cuadrada <= "00100001" ;
when 47 => cuadrada <= "00100001" ;
when 48 => cuadrada <= "00100001" ;
when 49 => cuadrada <= "00100001" ;
when 50 => cuadrada <= "00100001" ;
when 52 => cuadrada <= "00100001" ;
when 53 => cuadrada <= "00100001" ;
when 54 => cuadrada <= "00100001" ;
when 55 => cuadrada <= "00100001" ;
when 56 => cuadrada <= "00100001" ;
when 57 => cuadrada <= "00100001" ;

when 58 => cuadrada <= ""00100001" ;


when 59 => cuadrada <= "00100001" ;
when 60 => cuadrada <= "00100001" ;
when 61 => cuadrada <= "00100001" ;
when 62 => cuadrada <= "00100001" ;
when 63 => cuadrada <= "00100001" ;
when 64 => cuadrada <= "00100001" ;
when 65 => cuadrada <= "00100001" ;
when 66 => cuadrada <= "00100001" ;
when 67 => cuadrada <= "00100001" ;
when 68 => cuadrada <= "00100001" ;
when 69 => cuadrada <= "00100001" ;
when 70 => cuadrada <= "00100001" ;
when 71 => cuadrada <= "00100001" ;
when 72 => cuadrada <= ""00100001" ;
when 73 => cuadrada <= "00100001" ;
when 74 => cuadrada <= "00100001" ;

when 75 => cuadrada <= "00100001" ;


when 76 => cuadrada <= "00100001" ;
when 77 => cuadrada <= "00100001" ;
when 78 => cuadrada <= "00100001" ;
when 79 => cuadrada <= "00100001" ;
when 80 => cuadrada <= "00100001" ;
when 81 => cuadrada <= "00100001" ;
when 82 => cuadrada <= "00100001" ;
when 83 => cuadrada <= "00100001" ;
when 84 => cuadrada <= "00100001" ;
when 85 => cuadrada <= "00100001" ;
when 86 => cuadrada <= "00100001" ;
when 87 => cuadrada <= "00100001" ;
when 88 => cuadrada <= "00100001" ;
when 89 => cuadrada <= "00100001" ;
when 90 => cuadrada <= "00100001" ;
when 91 => cuadrada <= "00100001" ;

when 92 => cuadrada <= "00100001" ;


when 93 => cuadrada <= "00100001" ;
when 94 => cuadrada <= "00100001" ;
when 95 => cuadrada <= "00100001" ;
when 96 => cuadrada <= "00100001" ;
when 97 => cuadrada <= "00100001" ;
when 98 => cuadrada <= "00100001" ;
when 99 => cuadrada <= "00100001" ;
when 100 => cuadrada <= "00100001" ;
when 101 => cuadrada <= "00100001" ;
when 102 => cuadrada <= "00100001" ;
when 103 => cuadrada <= "00100001" ;
when 104 => cuadrada <= "00100001" ;
when 105 => cuadrada <= "00100001" ;
when 106 => cuadrada <= "00100001" ;
when 107 => cuadrada <= "00100001" ;
when 108 => cuadrada <= "00100001" ;

when 109 => cuadrada <= "00100001" ;


when 110 => cuadrada <= "00100001" ;
when 111 => cuadrada <= "00100001" ;
when 112 => cuadrada <= "00100001";
when 113 => cuadrada <= "00100001" ;
when 114 => cuadrada <= "00100001" ;
when 115 => cuadrada <= "00100001" ;
when 116 => cuadrada <= "00100001" ;
when 117 => cuadrada <= "00100001" ;
when 118 => cuadrada <= "00100001" ;
when 119 => cuadrada <= "00100001" ;
when 120 => cuadrada <= "00100001";
when 121 => cuadrada <= "00100001" ;
when 122 => cuadrada <= "000110101";
when 123 => cuadrada <= "00010111" ;
when 124 => cuadrada <= "00010011" ;
when 125 => cuadrada <= "00010000" ;

when 126 => cuadrada <= "00001101" ;


when 127 => cuadrada <= "00001001" ;
when 128 => cuadrada <= "00000110" ;
when 129 => cuadrada <= "00000011" ;

when 130 => cuadrada <= "00000000" ;


when 131 => cuadrada <= "00000000" ;
when 132 => cuadrada <= "00000000" ;
when 133 => cuadrada <= "00000000" ;
when 134 => cuadrada <= "00000000" ;
when 135 => cuadrada <= "00000000" ;
when 136 => cuadrada <= "00000000" ;
when 137 => cuadrada <= "00000000" ;
when 138 => cuadrada <= "00000000" ;
when 139 => cuadrada <= "00000000" ;
when 140 => cuadrada <= "00000000" ;

when 141 => cuadrada <= "00000000" ;


when 142 => cuadrada <= "00000000" ;
when 143 => cuadrada <= "00000000" ;
when 144 => cuadrada <= "00000000" ;
when 145 => cuadrada <= "00000000" ;
when 146 => cuadrada <= "00000000" ;
when 147 => cuadrada <= "00000000" ;
when 148 => cuadrada <= "00000000" ;
when 149 => cuadrada <= "00000000" ;
when 150 => cuadrada <= "00000000" ;
when 151 => cuadrada <= "00000000" ;
when 152 => cuadrada <= "00000000" ;
when 153 => cuadrada <= "00000000" ;
when 154 => cuadrada <= "00000000" ;
when 155 => cuadrada <= "00000000" ;
when 156 => cuadrada <= "00000000" ;
when 157 => cuadrada <= "00000000" ;

when 158 => cuadrada <= "00000000" ;


when 159 => cuadrada <= "00000000" ;
when 160 => cuadrada <= "00000000" ;
when 161 => cuadrada <= "00000000" ;
when 162 => cuadrada <= "00000000" ;
when 163 => cuadrada <= "00000000" ;
when 164 => cuadrada <= "00000000" ;
when 165 => cuadrada <= "00000000" ;
when 166 => cuadrada <= "00000000" ;
when 167 => cuadrada <= "00000000" ;
when 168 => cuadrada <= "00000000" ;
when 169 => cuadrada <= "00000000" ;
when 170 => cuadrada <= "00000000" ;
when 171 => cuadrada <= "00000000" ;
when 172 => cuadrada <= "00000000" ;
when 173 => cuadrada <= "00000000" ;
when 174 => cuadrada <= "00000000" ;

when 175 => cuadrada <= "00000000" ;


when 176 => cuadrada <= "00000000" ;
when 177 => cuadrada <= "00000000" ;
when 178 => cuadrada <= "00000000" ;
when 179 => cuadrada <= "00000000" ;
when 180 => cuadrada <= "00000000" ;
when 181 => cuadrada <= "00000000" ;
when 182 => cuadrada <= "00000000" ;
when 183 => cuadrada <= "00000000" ;
when 184 => cuadrada <= "00000000" ;
when 185 => cuadrada <= "00000000" ;
when 186 => cuadrada <= "00000000" ;
when 187 => cuadrada <= "00000000" ;
when 188 => cuadrada <= "00000000" ;
when 189 => cuadrada <= "00000000" ;
when 190 => cuadrada <= "00000000" ;
when 191 => cuadrada <= "00000000" ;

when 192 => cuadrada <= "00000000" ;


when 193 => cuadrada <= "00000000" ;
when 194 => cuadrada <= "00000000" ;
when 195 => cuadrada <= "00000000" ;
when 196 => cuadrada <= "00000000" ;
when 197 => cuadrada <= "00000000" ;
when 198 => cuadrada <= "00000000" ;
when 199 => cuadrada <= "00000000" ;
when 200 => cuadrada <= "00000000" ;
when 201 => cuadrada <= "00000000" ;
when 202 => cuadrada <= "00000000" ;
when 203 => cuadrada <= "00000000";
when 204 => cuadrada <= "00000000" ;
when 205 => cuadrada <= "00000000";
when 206 => cuadrada <= "00000000" ;
when 207 => cuadrada <= "00000000" ;
when 208 => cuadrada <= "00000000" ;

when 209 => cuadrada <= "00000000" ;


when 210 => cuadrada <= "00000000";
when 211 => cuadrada <= "00000000" ;
when 212 => cuadrada <= "00000000";
when 213 => cuadrada <= "00000000" ;
when 214 => cuadrada <= "00000000" ;
when 215 => cuadrada <= "00000000";
when 216 => cuadrada <= "00000000" ;
when 217 => cuadrada <= "00000000" ;
when 218 => cuadrada <= "00000000" ;
when 219 => cuadrada <= "00000000" ;
when 220 => cuadrada <= "00000000" ;
when 221 => cuadrada <= "00000000" ;
when 222 => cuadrada <= "00000000" ;
when 223 => cuadrada <= "00000000" ;
when 224 => cuadrada <= "00000000";
when 225 => cuadrada <= "00000000" ;

when 226 => cuadrada <= "00000000";


when 227 => cuadrada <= "00000000" ;
when 228 => cuadrada <= "00000000" ;
when 229 => cuadrada <= "00000000" ;
when 230 => cuadrada <= "00000000" ;
when 231 => cuadrada <= "00000000" ;
when 232 => cuadrada <= "00000000" ;
when 233 => cuadrada <= "00000000" ;
when 234 => cuadrada <= "00000000" ;
when 235 => cuadrada <= "00000000" ;
when 236 => cuadrada <= "00000000" ;
when 237 => cuadrada <= "00000000" ;
when 238 => cuadrada <= "00000000" ;
when 239 => cuadrada <= "00000000" ;
when 240 => cuadrada <= "00000000" ;
when 241 => cuadrada <= "00000000" ;
when 242 => cuadrada <= "00000000";

when 243 => cuadrada <= "00000000" ;


when 244 => cuadrada <= "00000000" ;
when 245 => cuadrada <= "00000000" ;
when 246 => cuadrada <= "00000000" ;
when 247 => cuadrada <= "00000000" ;
when 248 => cuadrada <= "00000000" ;
when 249 => cuadrada <= "00000000" ;

when others => cuadrada <="00000000";


end case;
end process;

process(CLK_OUT, Reset)
begin
if(Reset = '1') then
contador <= 0;
elsif(CLK_OUT'event and CLK_OUT='1') then

if(contador = 249) then


contador <= 0;
else
contador <= contador + 1;
end if;
end if;
end process;

end Behavioral;

También podría gustarte