J'ai fait
#!/usr/bin/perl
open(H, ">xil.h");
print H "const char tableau[]={\n\n";
sub conv {
my $bin = shift;
my $p = 7;
my $res;
for my $i (split //, $bin) {
$res += $i * (1 << $p--);
}
return $res;
}
while (<>) {
for($i = 0; $i < 40; $i += 8) {
$octet = substr($_, $i, 8);
printf H "0x%x, ", conv($octet);
}
}
print H "};";
Ca a l'air de marchoter (il est vrai qu'avec perl il y a toujours un
résultat ...) il me faut encore zapper l'entête du fichier
"
Xilinx ASCII Bitstream
Created by Bitstream J.40
Design name: sdram_ctrl.ncd
Architecture: spartan3
Part: 3s50pq208
Date: Thu Jan 3 17:36:05 2008
Bits: 439264
"
mais ça je sais faire normalement.
Merci beaucoup !!!
Habib
2008/1/4, serge rouveyrol <serge.rouveyrol@???>:
>
>
> sub conv {
> my $bin = shift;
> my $p = 7;
> my $res;
>
> for my $i (split //, $bin) {
> $res += $i * (1 << $p--);
> }
> return $res;
> }
>
> while (<>) {
> for($i = 0; $i < 40; $i += 8) {
> $octet = substr($_, $i, 8);
> printf "0x%x, ", conv($octet);
> }
> }
>
>
> Habib Bouaziz-Viallet a écrit :
> > Bonjour !
> >
> > En deux mots, transformer le contenu d'un fichier ASCII
> >
> > Xilinx ASCII Bitstream
> > Created by Bitstream J.40
> > Design name: sdram_ctrl.ncd
> > Architecture: spartan3
> > Part: 3s50pq208
> > Date: Thu Jan 3 17:36:05 2008
> > Bits: 439264
> >
> > 1111111100100001110101011111011110011111
> > 0101101111111111111111111101111111111101
> > 1101111111011101111111011101111111011101
> > ....
> >
> > En un fichier xil.h
> >
> > const char tableau[439264] = {
> > 0xFF, 0x21, 0xD5, 0xF7, 0x9F,
> > 0x5B, 0xFF, 0xFF, 0xDF, 0xFD,
> > 0xDF, 0xDD, 0xFD, 0xDF, 0xDD,
> >
> > etc ....
> >
> >
> > ...etc.
> >
> > };
> >
> >
> > Comment peut on faire avec perl ? merci pour vos avis.
> >
> > --
> > M. Bouaziz-Viallet
>
>
>
--
M. Bouaziz-Viallet