关于VHDL时钟上升沿触发某信号置高电平并延时一段时间的问题

自己的程序如下,clk为计数用的时钟信号,要求busy信号每次都捕捉clk1的上升沿并产生1.2微秒的高电平延时,clk为周期0.1微秒的时钟,计数12次后将busy信号... 自己的程序如下,clk为计数用的时钟信号,要求busy信号每次都捕捉clk1的上升沿并产生1.2微秒的高电平延时,clk为周期0.1微秒的时钟,计数12次后将busy信号置低,在下个clk1上升沿到来后重复上述动作(clk1周期远大于clk) 求大家帮我改改程序,不是编译通不过就是结果出不来。。 一定要clk1的沿触发而非clk1电平触发!!
library ieee;
use ieee.std_logic_1164.all;
entity adtest is
port(clk:in std_logic;
clk1:in std_logic;
busy: buffer std_logic);
end adtest;
architecture example of adtest is

type array1 is array(0 to 100) of integer;
signal temp: array1;
signal tmp: integer range 0 to 100000;
signal result:integer range 0 to 100000:=0;
begin
process(clk,clk1)
begin
if clk'event and clk='1'then
result<=result+1;
end if;

if clk1'event and clk1='1' then
busy<='1';
temp(0)<=result;
if clk1='1'then
for i in 1 to 100 loop
temp(i)<=result;
if (temp(i)-temp(0)=12) then exit;
end if;
end loop;
busy<='0';
end if;
end if;
end process;
end example;
展开
 我来答
百度网友2fc7aa6
2013-08-02
知道答主
回答量:17
采纳率:0%
帮助的人:12.5万
展开全部
一个进程中不能有两个上升沿检测,分成两个进程吧。就看出了这么一点,你的程序很难看懂,没看懂。每个人的编程风格不同,最好还是都写上注释吧,无论是给人看还是自己将来修改什么的都有好处。
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式