Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

convert vhdl to verilog

can anyone help me to convert vhdl to verilog??

library ieee;

use ieee.std_logic_1164.all;

entity crc is

port ( data_in : in std_logic_vector (31 downto 0);

crc_en , initQ , rst, clk, ldP : in std_logic;

crc_out: out std_logic_vector (15 downto 0);

Q,crc_done : buffer std_logic_vector (15 downto 0);

P,R : buffer std_logic_vector (31 downto 0));

end crc;

architecture imp_crc of crc is

signal lfsr_c: std_logic_vector (15 downto 0);

begin

R <= data_in;

lfsr_c(0) <= Q(3) xor Q(4) xor Q(6) xor Q(10) xor Q(11) xor Q(12) xor P(0) xor P(4) xor P(8) xor P(11) xor P(12) xor P(19) xor P(20) xor P(22) xor P(26) xor P(27) xor P(28);

lfsr_c(1) <= Q(4) xor Q(5) xor Q(7) xor Q(11) xor Q(12) xor Q(13) xor P(1) xor P(5) xor P(9) xor P(12) xor P(13) xor P(20) xor P(21) xor P(23) xor P(27) xor P(28) xor P(29);

lfsr_c(2) <= Q(5) xor Q(6) xor Q(8) xor Q(12) xor Q(13) xor Q(14) xor P(2) xor P(6) xor P(10) xor P(13) xor P(14) xor P(21) xor P(22) xor P(24) xor P(28) xor P(29) xor P(30);

lfsr_c(3) <= Q(6) xor Q(7) xor Q(9) xor Q(13) xor Q(14) xor Q(15) xor P(3) xor P(7) xor P(11) xor P(14) xor P(15) xor P(22) xor P(23) xor P(25) xor P(29) xor P(30) xor P(31);

lfsr_c(4) <= Q(0) xor Q(7) xor Q(8) xor Q(10) xor Q(14) xor Q(15) xor P(4) xor P(8) xor P(12) xor P(15) xor P(16) xor P(23) xor P(24) xor P(26) xor P(30) xor P(31);

lfsr_c(5) <= Q(0) xor Q(1) xor Q(3) xor Q(4) xor Q(6) xor Q(8) xor Q(9) xor Q(10) xor Q(12) xor Q(15) xor P(0) xor P(4) xor P(5) xor P(8) xor P(9) xor P(11) xor P(12) xor P(13) xor P(16) xor P(17) xor P(19) xor P(20) xor P(22) xor P(24) xor P(25) xor P(26) xor P(28) xor P(31);

lfsr_c(6) <= Q(1) xor Q(2) xor Q(4) xor Q(5) xor Q(7) xor Q(9) xor Q(10) xor Q(11) xor Q(13) xor P(1) xor P(5) xor P(6) xor P(9) xor P(10) xor P(12) xor P(13) xor P(14) xor P(17) xor P(18) xor P(20) xor P(21) xor P(23) xor P(25) xor P(26) xor P(27) xor P(29);

lfsr_c(7) <= Q(2) xor Q(3) xor Q(5) xor Q(6) xor Q(8) xor Q(10) xor Q(11) xor Q(12) xor Q(14) xor P(2) xor P(6) xor P(7) xor P(10) xor P(11) xor P(13) xor P(14) xor P(15) xor P(18) xor P(19) xor P(21) xor P(22) xor P(24) xor P(26) xor P(27) xor P(28) xor P(30);

lfsr_c(8) <= Q(0) xor Q(3) xor Q(4) xor Q(6) xor Q(7) xor Q(9) xor Q(11) xor Q(12) xor Q(13) xor Q(15) xor P(3) xor P(7) xor P(8) xor P(11) xor P(12) xor P(14) xor P(15) xor P(16) xor P(19) xor P(20) xor P(22) xor P(23) xor P(25) xor P(27) xor P(28) xor P(29) xor P(31);

lfsr_c(9) <= Q(0) xor Q(1) xor Q(4) xor Q(5) xor Q(7) xor Q(8) xor Q(10) xor Q(12) xor Q(13) xor Q(14) xor P(4) xor P(8) xor P(9) xor P(12) xor P(13) xor P(15) xor P(16) xor P(17) xor P(20) xor P(21) xor P(23) xor P(24) xor P(26) xor P(28) xor P(29) xor P(30);

lfsr_c(10) <= Q(0) xor Q(1) xor Q(2) xor Q(5) xor Q(6) xor Q(8) xor Q(9) xor Q(11) xor Q(13) xor Q(14) xor Q(15) xor P(5) xor P(9) xor P(10) xor P(13) xor P(14) xor P(16) xor P(17) xor P(18) xor P(21) xor P(22) xor P(24) xor P(25) xor P(27) xor P(29) xor P(30) xor P(31);

lfsr_c(11) <= Q(1) xor Q(2) xor Q(3) xor Q(6) xor Q(7) xor Q(9) xor Q(10) xor Q(12) xor Q(14) xor Q(15) xor P(6) xor P(10) xor P(11) xor P(14) xor P(15) xor P(17) xor P(18) xor P(19) xor P(22) xor P(23) xor P(25) xor P(26) xor P(28) xor P(30) xor P(31);

lfsr_c(12) <= Q(0) xor Q(2) xor Q(6) xor Q(7) xor Q(8) xor Q(12) xor Q(13) xor Q(15) xor P(0) xor P(4) xor P(7) xor P(8) xor P(15) xor P(16) xor P(18) xor P(22) xor P(23) xor P(24) xor P(28) xor P(29) xor P(31);

lfsr_c(13) <= Q(0) xor Q(1) xor Q(3) xor Q(7) xor Q(8) xor Q(9) xor Q(13) xor Q(14) xor P(1) xor P(5) xor P(8) xor P(9) xor P(16) xor P(17) xor P(19) xor P(23) xor P(24) xor P(25) xor P(29) xor P(30);

lfsr_c(14) <= Q(1) xor Q(2) xor Q(4) xor Q(8) xor Q(9) xor Q(10) xor Q(14) xor Q(15) xor P(2) xor P(6) xor P(9) xor P(10) xor P(17) xor P(18) xor P(20) xor P(24) xor P(25) xor P(26) xor P(30) xor P(31);

lfsr_c(15) <= Q(2) xor Q(3) xor Q(5) xor Q(9) xor Q(10) xor Q(11) xor Q(15) xor P(3) xor P(7) xor P(10) xor P(11) xor P(18) xor P(19) xor P(21) xor P(25) xor P(26) xor P(27) xor P(31);

regP : process (rst,clk) begin

if rst='1' then P <=(others=>'0');

elsif (clk' event and clk = '1') then

if ldP = '1' then

P <= data_in;

end if;

end if;

end process regP;

regQ : process (rst,clk) begin

if rst='1' then Q <=(others => '0');

elsif (clk' event and clk = '1') then

crc_out <= Q;

crc_done <= Q;

if (initQ = '1')then

Q <= x"FFFF";

else

if (crc_en = '1') then

Q<= lfsr_c;

else

Q <= Q;

end if ;

end if;

end if;

end process regQ;

end architecture imp_crc;
No RepliesBe the first to reply