完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
` 本帖最后由 scan0123 于 2012-8-18 13:55 编辑 如图,为什么该编译图标是灰色的? 如何把vhdl代码转换成图形文件? 该文件为何无法编译成功? library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity Multiplier is generic ( DATA_WIDTH : natural := 4 ); port ( reset_n : in std_logic; clk : in std_logic; InputX : in std_logic_vector(DATA_WIDTH-1 downto 0); InputY : in std_logic_vector(DATA_WIDTH-1 downto 0); Cal : in std_logic; Result : out std_logic_vector(DATA_WIDTH*2-1 downto 0) ); end Multiplier; architecture Multiplier_arch of Multiplier is type MUL_DATA_ARRAY_TYPE is array (DATA_WIDTH-1 downto 0) of std_logic_vector(DATA_WIDTH*2-1 downto 0); signal mulDataArray : MUL_DATA_ARRAY_TYPE; begin mulDataArray_gen : for I in 0 to DATA_WIDTH-1 generate mulDataArray(I)(DATA_WIDTH*2-1 downto DATA_WIDTH+I) <= (others => '0'); mulDataArray(I)(DATA_WIDTH+I-1 downto I) <= InputX when InputY(I) = '1' else (others => '0'); mulDataArray(I)(I-1 downto 0) <= (others => '0'); end generate; process(reset_n, clk) variable resultTmp : std_logic_vector(DATA_WIDTH*2-1 downto 0); begin if reset_n = '0' then Result <= (others => '0'); elsif rising_edge(clk) then resultTmp := mulDataArray(0); for I in 1 to DATA_WIDTH-1 loop resultTmp := resultTmp + mulDataArray(I); end loop; if Cal='1' then Result <= resultTmp; end if; end if; end process; end Multiplier_arch; ` ![]() |
|
相关推荐
1个回答
|
|
现在还在用MAX+plusII?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
388 浏览 0 评论
求FPGA 驱动控制ltc2271 或者 ltc2180 或者 ltc2190或者 ltc2202 的代码
1672 浏览 0 评论
464 浏览 0 评论
求助:遇见诡异问题,FPGA模块A输出端口连接模块B输入后,模块A不能正常工作的
1794 浏览 1 评论
514 浏览 0 评论
4551 浏览 101 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-28 00:20 , Processed in 0.475324 second(s), Total 72, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191