标签:fp end inclk .. hw ---- lw 矿大 HDL
软件:Quartus II 9.0 (64-Bit) AHDL语言
看完觉得不错的点个赞呗╰(*°▽°*)╯不要白嫖啊
一、60进制计数器(静态显示)
分频模块(输入时钟40MHZ)
subdesign fp
(
inclk:input;
outputf:output;
)
variable
fp[24..0]:dff;
f:dff;
begin
fp[].clk=inclk;
f.clk=inclk;
if fp[]==19999999 then
fp[]=0;
f=!f;
else
fp[]=fp[]+1;
f=f;
end if;
outputf=f;
end;
60进制计数器模块
subdesign 59to0
(
inclk:input;
outa[3..0],outb[3..0]:output;
)
variable
hw[3..0]:dff;
lw[3..0]:dff;
begin
hw[].clk=inclk;
lw[].clk=inclk;
if(hw[]==5)and(lw[]==9)then
hw[]=0;
lw[]=0;
elsif lw[]==9 then
lw[]=0;
hw[]=hw[]+1;
else
hw[]=hw[];
lw[]=lw[]+1;
end if;
outa[]=hw[];
outb[]=lw[];
end;
译码显示模块(静态显示)
subdesign xianshi
(
a[3..0],b[3..0]:input;
outa[6..0],outb[6..0]:output;
)
begin
table
a[3..0]=>outa6,outa5,outa4,outa3,outa2,outa1,outa0;
H"0"=>0,1,1,1,1,1,1;
H"1"=>0,0,0,0,1,1,0;
H"2"=>1,0,1,1,0,1,1;
H"3"=>1,0,0,1,1,1,1;
H"4"=>1,1,0,0,1,1,0;
H"5"=>1,1,0,1,1,0,1;
H"6"=>1,1,1,1,1,0,1;
H"7"=>0,0,0,0,1,1,1;
H"8"=>1,1,1,1,1,1,1;
H"9"=>1,1,0,1,1,1,1;
end table;
table
b[3..0]=>outb6,outb5,outb4,outb3,outb2,outb1,outb0;
H"0"=>0,1,1,1,1,1,1;
H"1"=>0,0,0,0,1,1,0;
H"2"=>1,0,1,1,0,1,1;
H"3"=>1,0,0,1,1,1,1;
H"4"=>1,1,0,0,1,1,0;
H"5"=>1,1,0,1,1,0,1;
H"6"=>1,1,1,1,1,0,1;
H"7"=>0,0,0,0,1,1,1;
H"8"=>1,1,1,1,1,1,1;
H"9"=>1,1,0,1,1,1,1;
end table;
end;
生成独自的模块后照着上图连接
二、12归1(动态显示)
分频模块
subdesign fp
(
inclk:input;
outputf:output;
)
variable
fp[23..0]:dff;
f:dff;
begin
fp[].clk=inclk;
f.clk=inclk;
if fp[]==1999999 then
fp[]=0;
f=!f;
else
fp[]=fp[]+1;
f=f;
end if;
outputf=f;
end;
12归1模块
subdesign 12to1
(
inclk:input;
outa[3..0],outb[3..0]:output;
)
variable
hw[3..0]:dff;
lw[3..0]:dff;
begin
hw[].clk=inclk;
lw[].clk=inclk;
if(hw[]==1)and(lw[]==2)then
hw[]=0;
lw[]=1;
elsif lw[]==9 then
lw[]=0;
hw[]=hw[]+1;
else
hw[]=hw[];
lw[]=lw[]+1;
end if;
outa[]=hw[];
outb[]=lw[];
end;
译码显示模块(动态显示)
subdesign dongtai
(
inclk,a[3..0],b[3..0]:input;
outa[6..0],bitout[1..0]:output;
)
variable
mda[14..0]:dff;
mseg[3..0],bitout[1..0]:dff;
st[1..0]:dff;
fpa:dff;
begin
fpa.clk=inclk;
mda[].clk=inclk;
mseg[].clk=fpa;
st[].clk=fpa;
bitout[].clk=fpa;
if mda[]==19999 then
mda[]=0;
fpa=!fpa;
else
mda[]=mda[]+1;
fpa=fpa;
end if;
case st[] is
when 0=>
mseg[]=b[];
bitout[]=1;
st=1;
when 1=>
mseg[]=a[];
bitout[]=2;
st=0;
end case;
table
mseg[]=>outa[];
h"0"=>h"3f";
h"1"=>h"06";
h"2"=>h"5b";
h"3"=>h"4f";
h"4"=>h"66";
h"5"=>h"6d";
h"6"=>h"7d";
h"7"=>h"07";
h"8"=>h"7f";
h"9"=>h"6f";
end table;
end;
生成独自的模块后照着上图连接
标签:fp,end,inclk,..,hw,----,lw,矿大,HDL 来源: https://blog.csdn.net/weixin_52114591/article/details/121912826
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。