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