|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
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; |
|