FPGA|CPLD|ASICwilliam hill官网
直播中

石君明

11年用户 11经验值
擅长:可编程逻辑 EDA/IC设计 RF/无线
私信 关注
[问答]

VHDL转化为verilog中process中既有 :=和<= 赋值,怎么转啊???

VHDL转化为verilog中process中既有  :=和<=  赋值,怎么转啊???
例以下代码:
process(rst,clk)

variable nkt: std_logic_vector(16 downto 0);

variable nktb: std_logic_vector(16 downto 0);

begin

if rst='1' then

strobe <= '0';

   nk <= (others=>'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;

更多回帖

发帖
×
20
完善资料,
赚取积分