路分成若干局部电路(尽量以同一时钟为一个模块),局部电路之间接口当异步接口考虑。 (4)电路中所有的寄存器、状态机在上电复位时必须有一个确定的初始态。 (5)电路的实际最高频率不应大于理论最高频率,应留有设计余地。 2.
答案:
异步复位是指在复位信号有效时,系统立即进行复位,而不管时钟信号的状态,在用Verilog HDL的always块描述异步复位时,always块中的敏感信号列表必须包括复位信号,如always@(posedge clk or posedge reset)。
同步复位是指在复位信号和时钟信号同时有效时,系统才进行复位。在用Verilog HDL的always块描述同步复位时,always块中的敏感信号列表不包含复位信号。 3.
答案:
触发器是时钟沿敏感的器件,而锁存器是电平敏感的器件,在项目设计中,锁存器会带来诸多问题,如额外延时,DFT问题等,因此,在实际设计中必须尽量避免锁存器的出现。 4.
答案:
RS触发器是一种危险的触发器,R=S=1会导致不稳定态,初始状态不确定。在设计时尽量避免采用这种电路。可编程逻辑器件一般选用D触发器来完成设计。 5. 答案:
图中加上虚线部分完整的框图表示的是Mealy型状态机,Mealy型状态机的输出不仅与当前状态有关,而且还与输入信号有关。
去掉图中的虚线部分则表示的是Moore型状态机,Moore型状态机仅仅与当前状态有关,而与输入信号没有直接关系。 6. 答案:
可以确保Mealy型和Moore型状态机输出没有“毛刺”,可以采用以下设计方法: (1)对于Mealy型状态机设计,用时钟同步输出信号; (2)对于Moore型状态机设计,用时钟同步输出信号; (3)直接把状态机的状态作为输出信号。 7. 答案:
a) 选择Mealy状态机还是Moore状态机 b) 构造状态转换图
c) 把状态转换图转换为Verilog HDL设计
8. 答案:
(1) 组合逻辑输出状态机设计
状态机输出产生输出的逻辑和产生下一状态的逻辑通过一个组合逻辑块来实现。这种设计有两个不利之处在于:组合输出会在两个状态之间形成毛刺,对状态的变化形成干扰;另外由于组合逻辑输出的时延,本来被状态机输出驱动的逻辑块的时钟将会更晚一步到达。 (2) 寄存器输出状态机设计
与第一种设计方法相比, 由时钟同步寄存器输出可以有效消除输出信号的毛刺。并且这种设计方法对于电路综合非常有利,它有效的遏制了由于组合逻辑的恶劣延时而给电路带来的时延问题。但是这种设计方法多用了两个寄存器,使综合电路面积增大,同时要求在作逻辑分析时要格外小心,因为这种设计的“下一个输出”由当前态和输入共同决定。 (3) One-hot编码输出状态机设计
将输出逻辑通过One-Hot编码的方式和当前状态寄存器融合在一起。输出信号未经过额外的逻辑对现态进行译码,而是直接来自状态寄存器,因而输出信号不会产生毛刺,同时减少了直接输出的逻辑,使电路综合面积更小。
三、应用题
答案(略)