首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用WinCupl制作简单的2位异步计数器

用WinCupl制作简单的2位异步计数器
EN

Stack Overflow用户
提问于 2010-06-08 01:27:32
回答 3查看 5.1K关注 0票数 0
代码语言:javascript
复制
/* INPUT PINS */

PIN    1 =  clock; /* clock input*/ 

/**************** OUTPUT PINS *********************/

PIN    14 = Q1 ; /*output*/

PIN    15 = Q2 ; /*output*/

Q1.ck = clock;

Q1.d = !Q1;

Q2.d = !Q2;

这是我的代码,输出引脚下面的两行创建了一个1位纹波计数器,但我不确定如何将第一个触发器的输出转换为第二个触发器的时钟输入。我要编程的芯片是爱特梅尔公司的ATF750C芯片。

EN

回答 3

Stack Overflow用户

发布于 2011-11-06 08:57:34

该器件不允许对各个触发器进行单独的时钟定义。输入到引脚1的时钟是器件中所有触发器的共享时钟。您可以尝试执行以下操作:

代码语言:javascript
复制
Device = G16V8;

/* Inputs */

Pin 1 = CLK;  /* clock source */

Pin 11 = GND; /* ground this for registered operation */

/* Outputs */

Pin 12 = Q0;

Pin 13 = Q1;

Pin 14 = Q2;

Pin 15 = Q3;

/* Equations */

!Q0.d = !Q3;

Q0.oe = 'b'1; /* output enabled - also default */

!Q1.d = Q0;

Q1.oe = 'b'1; /* output enabled - also default */

!Q2.d = Q1;

Q2.oe = 'b'1; /* output enabled - also default */

!Q3.d = Q2;

Q3.oe = 'b'1; /* output enabled - also default */

注意:上面的例子提供了一个4位的波纹二进制计数器/分频器。例如:一个8 1MHz的时钟输入将被8分频,从而在每个Q引脚上产生4个移位的1 1MHz输出。

票数 1
EN

Stack Overflow用户

发布于 2010-06-08 01:31:04

Wincupl是一种原始的vhdl,但我现在已经弄明白了。我只需将".d“附加到我的输出变量,然后将我的时钟附加到引脚#1和接地引脚#11。是的,我确实必须熟悉GAL16v8和WinCUPL文档才能弄清楚这一切。

票数 0
EN

Stack Overflow用户

发布于 2010-06-11 22:27:17

/********输出引脚*/

引脚14 = Q1.d;

引脚15 = Q2.d;

Q1.ck =时钟;

!Q1.d = Q1;

Q2.ck = !Q1;

!Q2.d = Q2;

这将创建一个异步纹波计数器,该计数器使用D触发器以二进制方式递增计数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2991701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档