⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flicker.abl

📁 16V8例程,应用GEL16V8实现的振荡器,振荡频率为300k-20Hz
💻 ABL
字号:
MODULE Flicker

Title 'Three lights: green, red and yellow. When yellow light is on,it will flicker'
	Q0..Q3 pin istype 'reg_d';
	clk    pin;
	flash  pin;
	cao    pin;
	xrst 	pin;
	Red	pin;
	Green	pin;
	Yellow	pin;

	tmp node;

"set define
	Q = [Q3..Q0];
"constant
	C = .c.;

equations
	Q := Q.FB + 1;
	Q.ar = xrst;
	Q.clk = clk;
	cao = Q0 & Q1 & Q2 & Q3;

	when (Q <= 4) then
		Red = 1;
 	else
		Red = 0;
	when ((Q >4) & (Q < 9)) then
		tmp = 1;
	else
		tmp = 0;
	when (Q >= 9) then
		Green = 1;
	else
		Green = 0;

	Yellow = flash & tmp;

Test_vectors([xrst,clk, flash]->[Q,cao,[Red,Green,Yellow]])
[ 1, C ,C ]->[0,0,.X.];
[ 0, C ,C ]->[1,0,.X.];
[ 0, C ,C ]->[2,0,.X.];
[ 0, C ,C ]->[3,0,.X.];
[ 0, C ,C ]->[4,0,.X.];
[ 0, C ,C ]->[5,0,.X.];
[ 0, C ,C ]->[6,0,.X.];
[ 0, C ,C ]->[7,0,.X.];
[ 0, C ,C ]->[8,0,.X.];
[ 0, C ,C ]->[9,0,.X.];
[ 0, C ,C ]->[10,0,.X.];
[ 0, C ,C ]->[11,0,.X.];
[ 0, C ,C ]->[12,0,.X.];
[ 0, C ,C ]->[13,0,.X.];
[ 0, C ,C ]->[14,0,.X.];
[ 0, C ,C ]->[15,1,.X.];

Test_vectors (xrst ->[Q,cao,[Red,Green,Yellow]])
	cycle clk (0, 20ns) (1,20ns)(0,20ns);
	cycle flash (0, 30)(1,40); "specify the time of flash light
	wait   0; 1 ->[0,0,.X.];
	wait 30;  0 ->[0,0,.X.];
	wait 50;  0 ->[1,0,.x.];
	wait 60; 0 ->[2,0,.X.];
	wait 60; 0 ->[3,0,.X.];
	wait 60; 0 ->[4,0,.X.];
	wait 60; 0 ->[5,0,.X.];
	wait 60; 0 ->[6,0,.X.];
	wait 60; 0 ->[7,0,.X.];
	wait 60; 0 ->[8,0,.X.];
	wait 60; 0 ->[9,0,.X.];
	wait 60; 0 ->[10,0,.X.];
	wait 60; 0 ->[11,0,.X.];
	wait 60; 0 ->[12,0,.X.];
	wait 60; 0 ->[13,0,.X.];
	wait 60; 0 ->[14,0,.X.];
	wait 60; 0 ->[15,1,.x.];
	wait 60; 0 ->[ 0,0,.x.];

END 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -