如何用VHDL语言编写一个模为40,两位8421BCD码输出的减法计数器?
2个回答
展开全部
library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity mo40 is
port(clk,rst:in std_logic;
jinw:out std_logic;
y:out std_logic_vector(7 downto 0));
end mo40;
architecture shu of mo40 is
begin
process(clk,rst)
variable temp:std_logic_vector(7 downto 0);
begin
if rst='0'then
temp:="00100111";
elsif clk'event and clk='1' then
if temp="00000000" then
temp:="00100111";
jinw<='1';
else
temp:=temp-'1';
jinw<='0';
end if;
end if;
y<=temp;
end process;
end shu;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity mo40 is
port(clk,rst:in std_logic;
jinw:out std_logic;
y:out std_logic_vector(7 downto 0));
end mo40;
architecture shu of mo40 is
begin
process(clk,rst)
variable temp:std_logic_vector(7 downto 0);
begin
if rst='0'then
temp:="00100111";
elsif clk'event and clk='1' then
if temp="00000000" then
temp:="00100111";
jinw<='1';
else
temp:=temp-'1';
jinw<='0';
end if;
end if;
y<=temp;
end process;
end shu;
展开全部
因为高四位表征十位,低四位表征个位。这是一个模60的计数器,说明它的计数范围是0到59,所以在个位计数到9时,要判断十位是不是5了,如果是了,就需要归零
5章PPT课件作业
1.VHDL程序一般包含几个组成部分?各部分的作用是什么?
实体,结构体,库,程序包,配置
实体:用于描述所设计系统的外部接口特性;即该设计实体对外的输入、输出端口数量和端口特性。
结构体:用于描述实体所代表的系统内部的结构和行为;它描述设计实体的结构、行为、元件及内部连接关系。
库:存放已经编译的实体、构造体、程序包集合和配置。
程序包:存放各设计模块都能共享的数据类型、常数和子程序库;
配置:实体对应多个结构体时,从与某个实体对应的多个结构体中选定一个作为具体实现。
2.端口模式有哪几种?buffer类型与inout类型的端口有什么区别?
Out,in,inout,buffer
out(输出):只能被赋值,用于不能反馈的输出;
in(输入):只能读,用于时钟输入、控制输入单向数据输入;
inout(输入输出):既可读又可被赋值,被读的值是端口输入值而不是被赋值,作为双向端口。
buffer(缓冲):类似于输出,但可以读,读的值是被赋值,用做内部反馈用,不能作为双向端口使用。
3.下列标识符中,哪些是非法的?
Led3coder__1endportstd_machine2adderdecoder*8
and_2__decoder_1and2and_2and__2and-2
4.指出下面的实体描述中存在的四处语法错误并改正
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux21aIS
PORT(a,b,s:INBIT;
y:OUTBIT;);(1.删除括号内的分号)
ENDENTITYmux;(2.改为mux21a)
ARCHITECTUREoneOFmux21aIS
BEGIN
PROCESS(a,b,s)
Begin
ifs=‘0’theny<=a;
elsey<=b;
endif;
endprocess(结束少了一个分号)
ENDARCHITECTUREnone;(none改为one)
5.写出下图所示的设计实体mux41的实体声明。所有端口都采用bit或bit_vector类型。
ENTITYmux41IS
PORT(A,B,C,D:INBIT;
SEL:INBIT_VECTOR(1DOWNTO0);
Q:OUTBIT);
ENDENTITYmux41;
6.表达式C<=A+B中,A、B、C的数据类型都是STD_LOGIC_VECTOR,是否能直接进行加法运算?说明原因和解决方法。
答:不能直接进行加法运算。因为+号只能对整数类型进行直接相加,如果要对STD_LOGIC_VECTOR数据类型进行+法操作,需要调用运算符重载,即在程序的开头打开IEEE.STD_LOGIC_UNSIGNED.ALL程序包,或者把STD_LOGIC_VECTOR数据类型改为整数类型。
7.能把任意一种进制的值向一整数类型的对象赋值吗?如果能,怎样做?
答:能。见书上P322页
8.判断下列VHDL的数值表示是否合法,如果有误指出原因(P322)
16#0FA#10#12F#8#789#8#356#2#0101010#
9.数据类型BIT,INTEGER,BOOLEAN分别定义在那个库中?哪些库和程序包总是可见的?
答:BIT,INTEGER,BOOLEAN分别定义在 STD库的STANDARD程序包中(见书上P324-325)
WORK库,STD库总是可见的(P316-317)
10.习题3-1,3-2,3-6(P92)
答:3-6考试有此种类型的程序题。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDFF3IS
5章PPT课件作业
1.VHDL程序一般包含几个组成部分?各部分的作用是什么?
实体,结构体,库,程序包,配置
实体:用于描述所设计系统的外部接口特性;即该设计实体对外的输入、输出端口数量和端口特性。
结构体:用于描述实体所代表的系统内部的结构和行为;它描述设计实体的结构、行为、元件及内部连接关系。
库:存放已经编译的实体、构造体、程序包集合和配置。
程序包:存放各设计模块都能共享的数据类型、常数和子程序库;
配置:实体对应多个结构体时,从与某个实体对应的多个结构体中选定一个作为具体实现。
2.端口模式有哪几种?buffer类型与inout类型的端口有什么区别?
Out,in,inout,buffer
out(输出):只能被赋值,用于不能反馈的输出;
in(输入):只能读,用于时钟输入、控制输入单向数据输入;
inout(输入输出):既可读又可被赋值,被读的值是端口输入值而不是被赋值,作为双向端口。
buffer(缓冲):类似于输出,但可以读,读的值是被赋值,用做内部反馈用,不能作为双向端口使用。
3.下列标识符中,哪些是非法的?
Led3coder__1endportstd_machine2adderdecoder*8
and_2__decoder_1and2and_2and__2and-2
4.指出下面的实体描述中存在的四处语法错误并改正
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux21aIS
PORT(a,b,s:INBIT;
y:OUTBIT;);(1.删除括号内的分号)
ENDENTITYmux;(2.改为mux21a)
ARCHITECTUREoneOFmux21aIS
BEGIN
PROCESS(a,b,s)
Begin
ifs=‘0’theny<=a;
elsey<=b;
endif;
endprocess(结束少了一个分号)
ENDARCHITECTUREnone;(none改为one)
5.写出下图所示的设计实体mux41的实体声明。所有端口都采用bit或bit_vector类型。
ENTITYmux41IS
PORT(A,B,C,D:INBIT;
SEL:INBIT_VECTOR(1DOWNTO0);
Q:OUTBIT);
ENDENTITYmux41;
6.表达式C<=A+B中,A、B、C的数据类型都是STD_LOGIC_VECTOR,是否能直接进行加法运算?说明原因和解决方法。
答:不能直接进行加法运算。因为+号只能对整数类型进行直接相加,如果要对STD_LOGIC_VECTOR数据类型进行+法操作,需要调用运算符重载,即在程序的开头打开IEEE.STD_LOGIC_UNSIGNED.ALL程序包,或者把STD_LOGIC_VECTOR数据类型改为整数类型。
7.能把任意一种进制的值向一整数类型的对象赋值吗?如果能,怎样做?
答:能。见书上P322页
8.判断下列VHDL的数值表示是否合法,如果有误指出原因(P322)
16#0FA#10#12F#8#789#8#356#2#0101010#
9.数据类型BIT,INTEGER,BOOLEAN分别定义在那个库中?哪些库和程序包总是可见的?
答:BIT,INTEGER,BOOLEAN分别定义在 STD库的STANDARD程序包中(见书上P324-325)
WORK库,STD库总是可见的(P316-317)
10.习题3-1,3-2,3-6(P92)
答:3-6考试有此种类型的程序题。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDFF3IS
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询