完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本人用VHDL作了一个ALU,但是在synthesiz和implement design时有2个警告不能消除,一个是关于latch锁存器的,我知道是ifelse语句赋值不完整造成的,但是在else逻辑里并不想改变toacc这个值,所以就消除不掉latch.
还有一个是说toacc产生了gated clock,但是我并没有把这个用作时钟信号,所以并不清楚错误产生的来源。 不知道各位大神有什么见解可以消除这两个警告吗,小弟感激不尽。 代码如下: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity ALU is Port ( mcu2alu : in STD_LOGIC_VECTOR(2 downto 0); --clk : in STD_LOGIC; --acc2alu : in STD_LOGIC; ACC_ALU : in STD_LOGIC_VECTOR (15 downto 0); MBR_ALU : in STD_LOGIC_VECTOR (15 downto 0); ALU_ACC : out STD_LOGIC_VECTOR (15 downto 0)); end ALU; architecture Behavioral of ALU is signal fromacc : std_logic_vector(15 downto 0):=x"0000"; signal frommbr : std_logic_vector(15 downto 0):=x"0000"; signal toacc : std_logic_vector(15 downto 0):=x"0000"; signal calready : std_logic:='1'; begin process(calready,mcu2alu,fromacc,frommbr,toacc) begin if (mcu2alu/="000")then if (calready='1')then calready<='0'; if (mcu2alu= "001")then toacc<=fromacc+frommbr; elsif (mcu2alu= "010")then toacc<=fromacc-frommbr; elsif (mcu2alu= "011")then toacc<=fromacc AND frommbr; elsif (mcu2alu= "100")then toacc<=fromacc OR frommbr; elsif (mcu2alu= "101")then toacc<=not fromacc; elsif (mcu2alu= "110")then toacc<=To_stdlogicvector(To_bitvector(fromacc) sll conv_integer(1)); else toacc<=To_stdlogicvector(To_bitvector(fromacc) srl conv_integer(1)); end if; else calready<='0'; end if; else calready<='1'; end if; end process; process(toacc) begin ALU_ACC<=toacc; end process; process(ACC_ALU,MBR_ALU) begin fromacc<=ACC_ALU; frommbr<=MBR_ALU; end process; end Behavioral; 警告如下: WARNING:Xst:737 - Found 16-bit latch for signal PhysDesignRules:372 - Gated clock. Clock net toacc_not0000 is sourced by a combinatorial pin. This is not good design practice. Use the CE pin to control the loading of data into the flip-flop. |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1489 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1068 浏览 0 评论
2572 浏览 1 评论
2260 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2530 浏览 0 评论
2012 浏览 55 评论
6036 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 17:39 , Processed in 0.488685 second(s), Total 68, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号