VHDL设计实例与时序逻辑设计原理解析
1. VHDL组合设计实例
在VHDL的组合设计中,以井字棋电路设计为例,展示了如何运用VHDL进行逻辑设计。
1.1 TwoInRow实体分析
TwoInRow实体的架构定义了多个函数,用于判断在特定单元格 (i, j) 是否存在获胜走法(从X的视角)。当单元格 (i, j) 为空,且同一行、列或对角线上的另外两个单元格包含X时,存在获胜走法。具体函数如下:
- R 函数:查找单元格 (i, j) 所在行的获胜走法。
- C 函数:查找单元格 (i, j) 所在列的获胜走法。
- D 和 E 函数:分别查找两条对角线上的获胜走法。
在架构的单个进程中,声明了九个布尔变量 G11 - G33 ,用于指示每个单元格是否可能有获胜走法。进程开始处的赋值语句会根据相应函数的组合,将变量设置为 TRUE 或 FALSE 。以下是具体代码:
begin
process (X, Y)
variable G11, G12, G13, G21, G22, G23, G31, G32, G33: BOOLEAN;
begin
G11 := R(X,Y,1,1) or C(X,Y,1,1) or D(X,Y,1,1);
G12 := R(X,Y,1,2) or C(X,Y,1,2);
G1
VHDL与时序逻辑设计解析
超级会员免费看
订阅专栏 解锁全文
683

被折叠的 条评论
为什么被折叠?



