|  | 
 
| 
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;
 | 
 |