VHDL转化为verilog中process中既有 :=和<= 赋值,怎么转啊?
时间:10-02
整理:3721RD
点击:
VHDL转化为verilog中process中既有 :=和 '0');
u <= B"0100_0000_0000_0000";--0.5
nkt:=B"00110_0000_0000_0000";--0.75
nktb:=B"00110_0000_0000_0000";--0.75
elsif rising_edge(clk) then
--设置一个变量nktb,先将nkt的值存起来
nktb:=nkt;
nkt:=nkt-w;
if nkt<0 then
nkt:=nkt+B"0_1000_0000_0000_0000";--负值+1,相当于mod(1)
nk <=nkt(15 downto 0);
--当nkt<0时,将nkt减去w值之前的值乘以2作为u值。
u <= (nktb(14 downto 0)&'0');--u=2*nk
strobe <= '1';
else
nk <= nkt(15 downto 0);
strobe <='0';
end if;
end if;
end process;
u <= B"0100_0000_0000_0000";--0.5
nkt:=B"00110_0000_0000_0000";--0.75
nktb:=B"00110_0000_0000_0000";--0.75
elsif rising_edge(clk) then
--设置一个变量nktb,先将nkt的值存起来
nktb:=nkt;
nkt:=nkt-w;
if nkt<0 then
nkt:=nkt+B"0_1000_0000_0000_0000";--负值+1,相当于mod(1)
nk <=nkt(15 downto 0);
--当nkt<0时,将nkt减去w值之前的值乘以2作为u值。
u <= (nktb(14 downto 0)&'0');--u=2*nk
strobe <= '1';
else
nk <= nkt(15 downto 0);
strobe <='0';
end if;
end if;
end process;