clear

D=input('input the expected var:');
if isempty(D),D=1;end
fac=sqrt(D/1);

a=zeros(1,15);
for i=1:15,
    i1=i;
    for j=1:4,
        s(j)=mod(i,2);
        i=(i-s(j))/2;
        a(i1)=a(i1)+s(j)*0.0625*(2^(j-1));
    end
end
f=sqrt(-2*log(a));
f1=quantizer([9 6]);
ff=num2bin(f1,f);
g=fac*1.7015*(sqrt(2))*cos(2*pi*a);
g1=quantizer([9 6]);
gg=num2bin(g1,g);

fidhead=fopen('head_forrom2.txt','rb');
head=fread(fidhead);
fidout=fopen('rom2.vhd','wb');
out=fwrite(fidout,head);
fprintf(fidout,'\n');
gg=gg';
b='0000';
k=9;
for j=1:15
    b(4)=b(4)+1;
    for i=4:-1:2
        if b(i)>'1',
            b(i-1)=b(i-1)+1;
            b(i)='0';
        end  
    end
    fprintf(fidout,'when "%s" => doutg <= "%s";\n',b,gg(1+k*(j-1):9+k*(j-1)));
end 
gg=gg';
fidtail=fopen('tail.txt','rb');
tail=fread(fidtail);
out=fwrite(fidout,tail);
fclose(fidhead);
fclose(fidtail);
fclose(fidout);



fidhead=fopen('head_forrom1.txt','rb');
head=fread(fidhead);
fidout=fopen('rom1.vhd','wb');
out=fwrite(fidout,head);
fprintf(fidout,'\n');
ff=ff';
b='0000';
k=9;
for j=1:15
    b(4)=b(4)+1;
    for i=4:-1:2
        if b(i)>'1',
            b(i-1)=b(i-1)+1;
            b(i)='0';
        end  
    end
    fprintf(fidout,'when "%s" => doutf <= "%s";\n',b,gg(1+k*(j-1):9+k*(j-1)));
end 
ff=ff';
fidtail=fopen('tail.txt','rb');
tail=fread(fidtail);
out=fwrite(fidout,tail);
fclose(fidhead);
fclose(fidtail);
fclose(fidout);
[em2][em2]