哪位好心人帮我解释下VHDL程序?fen100 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_

可以帮我解释一下吗?上次没复制好,谢谢了fenxlibraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsi... 可以帮我解释一下吗?上次没复制好,谢谢了fenx
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity fenx is
port
(clk:in std_logic;
qout:out std_logic
);
end fenx;
architecture behave of fenx is
constant counter_len:integer:=1999999;
begin
process(clk)
variable cnt:integer range 0 to counter_len;
begin
if clk'event and clk='1' then
if cnt=counter_len then
cnt:=0;
else
cnt:=cnt+1;
end if;
case cnt is
when 0 to counter_len/2=>qout<='0';
when others =>qout<='1';
end case;
end if;
end process;
end behave;
展开
 我来答
问问大海123
推荐于2018-05-06 · TA获得超过203个赞
知道答主
回答量:116
采纳率:0%
帮助的人:88万
展开全部
library ieee; --库说明
use ieee.std_logic_1164.all;--前面这几行,是用的package 即数据库
use ieee.std_logic_unsigned.all;--
use ieee.std_logic_arith.all;--
entity fenx is --实体说明,fenx 实体名
port --端口
(clk:in std_logic;--clk为端口名,in 为端口类型,这里是输入,std_logic指的是标准逻辑数据类型
qout:out std_logic--类似于上边
);
end fenx;--结束实体
architecture behave of fenx is-- 结构体 behave 为结构体名,fenx 为上边的实体名。
constant counter_len:integer:=1999999;--结构体说明部分,这里定义了一个常数,常数名为counter_len,将1999999赋给了这个常数。
begin
process(clk)--开始进程
variable cnt:integer range 0 to counter_len;--定义了一个变量,范围为0-1999999
begin
if clk'event and clk='1' then --在当前一个相当小的时间间隔内,事件发生了,并且clk为逻辑值1,然后执行下边的语句
if cnt=counter_len then --再如果,cnt这个变量的值等于定的那个常数counter_len, 则,把0赋给cnt
cnt:=0;
else
cnt:=cnt+1; --否刚,让cnt加1;
end if; --结束if语句
case cnt is --case 语句
when 0 to counter_len/2=>qout<='0';--若case 的值为0到counter_len 的一半,刚执行,把0赋给qout;
when others =>qout<='1';--其它,刚把1赋给qout;
end case; --结束case语句;
end if; --与第一个if对应,结束if 语句;
end process; --结束process 进程;

end behave; --结束behave 结构体。

晚上做的,不会我们再交流。
玄铁重剑baobo
2011-03-28 · TA获得超过549个赞
知道答主
回答量:32
采纳率:0%
帮助的人:31.7万
展开全部
fen100 library ieee; (使用库文件library ieee)
use ieee.std_logic_1164.all; (使用库文件library ieee中的1164包中的所有数据类型,即1164包中的所有数据类型都可以使用)
use ieee.std_logic_unsigned.all;(使用库文件library ieee中的unsigned包中的所有数据类型,即unsigned包中的所有数据类型都可以使用)
你是不是把use ieee.std_logic_unsigned.all;漏掉了unsigned.all;
但愿能帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
果味儿山楂
2011-04-02
知道答主
回答量:7
采纳率:0%
帮助的人:3.3万
展开全部
这段程序是分频程序,把clk时钟分成更小的频率时钟脉冲
建议你看一下http://hi.baidu.com/%B4%F3%B2%DD%D4%AD%BB%C6%BB%A8%B2%CB/blog/item/b3549a18c4bb596adab4bdde.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式