Основные понятия цифровой логики

Дополнительные материалы для объединенного семинара MIPSfpga и Connected MCU от Imagination Technologies Октябрь-Ноябрь 2016

Контрольная работа 2.5 - Комбинационные, последовательные и конвейерные реализации с функций возведения в пятую степень

Имя ___________________________________________________________________


Ниже приведен код содержащий три модуля, реализующих одну и ту же функциональность, вычисляя пятую степень из заданного числа. Проанализируйте код и ответьте на следующие вопросы: module pow_5_implementation_1 ( input clock, input reset_n, input run, input [17:0] n, output ready, output [17:0] n_pow_5 ); reg [4:0] shift; always @(posedge clock or negedge reset_n) if (! reset_n) shift <= 0; else if (run) shift <= 5'b10000; else shift <= shift >> 1; assign ready = shift [0]; reg [17:0] r_n, mul; always @(posedge clock) if (run) begin r_n <= n; mul <= n; end else begin mul <= mul * r_n; end assign n_pow_5 = mul; endmodule //-------------------------------------------------------------------- module pow_5_implementation_2 ( input [17:0] n, output [17:0] n_pow_5 ); assign n_pow_5 = n * n * n * n * n; endmodule //-------------------------------------------------------------------- module pow_5_implementation_3 ( input clock, input [17:0] n, output reg [17:0] n_pow_5 ); reg [17:0] n_1, n_2, n_3; reg [17:0] n_pow_2, n_pow_3, n_pow_4; always @(posedge clock) begin n_1 <= n; n_2 <= n_1; n_3 <= n_2; n_pow_2 <= n * n; n_pow_3 <= n_pow_2 * n_1; n_pow_4 <= n_pow_3 * n_2; n_pow_5 <= n_pow_4 * n_3; end endmodule
1. Какая реализация является чисто комбинационной?/b> a) pow_5_implementation_1 b) pow_5_implementation_2 c) pow_5_implementation_3 d) pow_5_implementation_1 и pow_5_implementation_2 e) pow_5_implementation_1 и pow_5_implementation_3 f) pow_5_implementation_2 и pow_5_implementation_3 g) все h) ни одна из них
2. Какая реализация последовательна? a) pow_5_implementation_1 b) pow_5_implementation_2 c) pow_5_implementation_3 d) pow_5_implementation_1 и pow_5_implementation_2 e) pow_5_implementation_1 и pow_5_implementation_3 f) pow_5_implementation_2 и pow_5_implementation_3 g) все h) ни одна из них
3. Какая реализация конвейерная? a) pow_5_implementation_1 b) pow_5_implementation_2 c) pow_5_implementation_3 d) pow_5_implementation_1 и pow_5_implementation_2 e) pow_5_implementation_1 и pow_5_implementation_3 f) pow_5_implementation_2 и pow_5_implementation_3 g) все h) ни одна из них
4. Определите реализацию, которой соответствует следующей схеме: a) pow_5_implementation_1 b) pow_5_implementation_2 c) pow_5_implementation_3 d) pow_5_implementation_1 и pow_5_implementation_2 e) pow_5_implementation_1 и pow_5_implementation_3 f) pow_5_implementation_2 и pow_5_implementation_3 g) все h) ни одна из них
5. Определите реализацию, которой соответствует следующей схеме: a) pow_5_implementation_1 b) pow_5_implementation_2 c) pow_5_implementation_3 d) pow_5_implementation_1 и pow_5_implementation_2 e) pow_5_implementation_1 и pow_5_implementation_3 f) pow_5_implementation_2 и pow_5_implementation_3 g) все h) ни одна из них
6. Определите реализацию, которой соответствует следующей схеме: a) pow_5_implementation_1 b) pow_5_implementation_2 c) pow_5_implementation_3 d) pow_5_implementation_1 и pow_5_implementation_2 e) pow_5_implementation_1 и pow_5_implementation_3 f) pow_5_implementation_2 и pow_5_implementation_3 g) все h) ни одна из них
7. Какая реализация, обеспечит максимальную частоту (Предполагая, что выходы комбинационной реализации соеденены с синхронизированним регистром)? a) pow_5_implementation_1 b) pow_5_implementation_2 c) pow_5_implementation_3
8. Какая реализация, скорее всего, будет использовать наименьшее количество вентилей? a) pow_5_implementation_1 b) pow_5_implementation_2 c) pow_5_implementation_3
9. Какая реализация может иметь наивысшую пропускную способность (количество вычисленыз значений pow_5(n) за секунду)? a) pow_5_implementation_1 b) pow_5_implementation_2 c) pow_5_implementation_3
10. Какая реализация будет иметь наименьшую задержку в тактовых циклах (Предполагая, что выходы комбинационной реализации соеденены с синхронизированним регистром)? a) pow_5_implementation_1 b) pow_5_implementation_2 c) pow_5_implementation_3
11. В тестовом коде были реализованы все три реализации pow_5. module testbench; reg clock; reg reset_n; reg run; reg [17:0] n; wire ready; wire [17:0] n_pow_5_implementation_1; wire [17:0] n_pow_5_implementation_2; wire [17:0] n_pow_5_implementation_3; initial begin clock = 1; forever # 50 clock = ! clock; end initial begin repeat (2) @(posedge clock); reset_n <= 0; repeat (2) @(posedge clock); reset_n <= 1; end pow_5_implementation_1 pow_5_implementation_1 (clock, reset_n, run, n, ready, n_pow_5_implementation_1); pow_5_implementation_2 pow_5_implementation_2 (n, n_pow_5_implementation_2); pow_5_implementation_3 pow_5_implementation_3 (clock, n, n_pow_5_implementation_3); integer i; initial begin #0 $dumpvars; $monitor ("clock %b reset_n %b n %d comb %d seq %d run %b ready %b pipe %d", clock, reset_n, n, n_pow_5_implementation_1, n_pow_5_implementation_2, run, ready, n_pow_5_implementation_3); @(posedge reset_n); @(posedge clock); for (i = 0; i < 50; i = i + 1) begin n <= i & 7; run <= (i == 0 || ready); @(posedge clock); end $finish; end endmodule
Инженер смоделировал тестовый код и получил следующий сигнал. Однако он забыл, что он добавил последние три сигнала к временной диаграмме. Можете ли вы определить, какой сигнал является результатом комбинационной реализации, Последовательной реализации без конвейера и последовательной конвейерной реализации? a)В порядке (от верхнего n_pow_5... до нижнего n_pow_5...): Комбинационная, последовательная реализация без конвейера, конвейерная b) комбинационная, конвейерная, последовательная неконвейерная реализация c) конвейерная, комбинационная, последовательная реализация без конвейера d) конвейерная, последовательная неконвейерная реализация, комбинационная e) последовательная не конвейерная реализация, комбинационная, конвейерная f) последовательная не конвейерная реализация, конвейерная, комбинационная
Контрольная работа составлена Юрием Панчулом