0
/* 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 位纹波计数器,但我不确定如何将第一个触发器的输出转换为第二个触发器的时钟输入。我正在尝试编程的芯片是 Atmel ATF750C 芯片。

4

3 回答 3

1

该器件不允许为单个触发器单独定义时钟。引脚 1 的时钟输入是器件中所有触发器的共享时钟。您可以尝试以下方法:

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 位纹波二进制计数器/除法器。例如:一个 8MHz 时钟输入将被 8 分频,从而在每个 Q 引脚上产生 4 个移位的 1MHz 输出。

于 2011-11-06T00:57:34.167 回答
0

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

于 2010-06-07T17:31:03.583 回答
0

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

PIN 14 = Q1.d;

PIN 15 = Q2.d;

Q1.ck = 时钟;

!Q1.d = Q1;

Q2.ck = !Q1;

!Q2.d = Q2;

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

于 2010-06-11T14:27:16.910 回答