[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [ethmac] BFM model for MII_RX i/f
Hi, Kostas,
I thought I saw a little bug on line 136:
case ch is
when '0' => data :=
"0000";
when '1' => data :=
"0001";
when '2' => data :=
"0010";
when '3' => data :=
"0111";
3 is "0011"
And a less error-prone conversion (I abhor manually edited tables) from hex
char to 4-bit data would be
function hex_to_nybble(ch:character) return unsigned is
variable hexch : natural;
begin
assert (ch>='0' and ch<='9') or (ch>='A' and ch<='F') or (ch>='a'
and ch<='f') severity failure;
hexch:=character'pos(ch)-character'pos('0');
if ch>='A' then
hexch:=hexch-(character'pos('A')-character'pos('9')-1);
end if;
if ch>'F' then
hexch:=hexch-(character'pos('a')-character'pos('A'));
end if;
return to_unsigned(hexch,4);
end hex_to_nybble;
signal x : unsigned(9*4-1 downto 0);
begin
x<=hex_to_nybble('0')&hex_to_nybble('1')&hex_to_nybble('9')&
hex_to_nybble('A')&hex_to_nybble('B')&hex_to_nybble('F')&
hex_to_nybble('a')&hex_to_nybble('b')&hex_to_nybble('f')
--or try for some fun:
hex_to_nybble('g')&hex_to_nybble('G')&hex_to_nybble('!')
;
-----Original Message-----
From: Kostas Pramataris [mailto:kpram@lucent.com]
Sent: donderdag 30 november 2000 15:22
To: ethmac@opencores.org
Cc: maik@opencores.org
Subject: [ethmac] BFM model for MII_RX i/f
Hi all
I've written a bus functional model for the MII receive i/f. The model
reads packet-data from a file and drives them to the MII RX i/f. The
model could be used for building a testbench for the ethmac_receiver.
Attached is the vhdl file for the model, a required package and a sample
packet-file.
regards,
kostas