Altera_Forum
Honored Contributor
14 years agoconvert 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;