VHDL语言与数字集成电路设计课程习题安排
第7次课:
为Max+Plus Ⅱ中mf库的下列74系列集成电路编写实体,
74138 74151 74163 74194
实体名采用上述数字前面加字母k表达,例如:k74138、k74194;
各端口名均采用库中已规定的名称;
第9次课:
(1) 在所给变量定义条件下,判断下列赋值是否合法。
type row is array (7 downto 0) of std_logic;
type array1 is array (0 to 3) of row;
type array2 is array (0 to 3) of std_logic;
type array3 is array (0 to 3,7 downto 0) 0f std_logic;
signal x:row; signal y:array1;
signal v:array2; signal w:array3;
x(0)<=y(1)(2); x(2)<=w(2,1);
x<=v(1); x<=y(0);
x<=w(2); x<=w(2,2 downto 0);
v(0)<=w(2); v(0)<=w(2,2 downto 0);
y(1)(7 downto 3)<=x(4 downto 0);
w(1,5 downto 1)<=v(2)(4 downto 0);
(2) 在所给信号定义条件下,判断下列运算是否合法。
signal a:bit:='1';
signal b:bit_vector(3 downto 0):="1100";
signal c:bit_vector(3 downto 0):="0010";
signal d:bit_vector(7 downto 0);
signal e:integer range 0 to 255;
signal f:integer range -128 to 127;
b(0) and a ; a+d(7); not b xnor c;
c+d ; e-f ; if (b<c) ;
if (e>d); b sra 1 ; c srl -2 ;
f ror 3 ; d<=c ; f:= 100 ;
第10次课:
1 采用直接赋值语句设计3-8线译码器;
2 采用选择赋值语句设计4选1MUX;
所编制的程序应包括:库和包集合说明、实体和结构体;
上交的作业应包括功能仿真的波形图。
第12次课:
1 采用进程和变量赋值语句设计1位全加器;
(参照 p.431图5-86 );
2 利用上题设计的1位全加器,采用结构设计方式和generate语句设计一个4位串行加法器。
(参照p.432 图5-87);
通过仿真,对所设计的程序进行验证。
第15次课:
1 对教材图X5.57的电路(可控2-4译码器)进行行为设计(采用进程和case语句);
2 数据选择器74153的功能表如教材表5-36所示,写出该电路的数据流设计;
要求写出完整的电路模块程序,包含实体、结构体和必要的资源说明,并通过仿真波形,表达电路的功能。
第18次课:
1.采用FSM的设计方式设计一个模16计数器;
2.采用结构设计的方式,设计模16计数器;选择适当的状态编码,使得在FPGA中的电路综合形式为最简单;
写出上述全部程序结构,得出两个电路的综合结果并进行比较。