1 / 1 / 0
Регистрация: 22.10.2017
Сообщений: 52
|
|
1 | |
Восьмиразрядный вычитающий счётчик01.06.2019, 14:57. Показов 2794. Ответов 3
Метки verilog hdl (Все метки)
Задание: На основе T-триггеров создать восьмиразрядный вычитающий счётчик.
При компиляции проекта выдаёт неверную последовательность: 255, 254, 252, 248, 240, 224 и т.д. Код
module T(q,data,clk); input data, clk; output reg q = 1; always @ (posedge clk) q = !data; endmodule module TTRigger(clk, q0, q1, q2, q3, q4, q5, q6, q7); input clk; output q0, q1, q2, q3, q4, q5, q6, q7; T t0(q0, !clk, clk); T t1(q1 ,!q0, clk); T t2(q2, !q0 & !q1, clk); T t3(q3, !q1 & !q2, clk); T t4(q4, !q2 & !q3, clk); T t5(q5, !q3 & !q4, clk); T t6(q6, !q4 & !q5, clk); T t7(q7, !q5 & !q6, clk); endmodule
0
|
01.06.2019, 14:57 | |
Ответы с готовыми решениями:
3
Синхронный вычитающий счетчик на JK Вычитающий счетчик с предустановкой VHDL. Суммирующий и вычитающий счетчик VHDL. Вычитающий двоично-десятичный счетчик Асинхронный вычитающий недвоичный счетчик на основе синхронных JK-триггеров |
3218 / 2361 / 540
Регистрация: 11.09.2009
Сообщений: 8,601
|
|
02.06.2019, 00:31 | 2 |
T t0(q0,
и далее соответственно.
1
|
1 / 1 / 0
Регистрация: 22.10.2017
Сообщений: 52
|
|
02.06.2019, 17:43 [ТС] | 3 |
i8085, если я меняю так всё, то у меня Simulation Report при подобных значениях выдаёт всегда 255.
Код
module T(q,data,clk); input data, clk; output reg q = 1; always @ (posedge clk) q = !data; endmodule module TTRigger(clk, q0, q1, q2, q3, q4, q5, q6, q7); input clk; output q0, q1, q2, q3, q4, q5, q6, q7; T t0(q0, !q0, clk); T t1(q1 ,!q1, clk); T t2(q2, !q2 & !q1, clk); T t3(q3, !q3 & !q2, clk); T t4(q4, !q3 & !q3, clk); T t5(q5, !q4 & !q4, clk); T t6(q6, !q5 & !q5, clk); T t7(q7, !q6 & !q6, clk); endmodule
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
03.06.2019, 23:44 | 4 |
Сообщение было отмечено Sanedi как решение
Решение
Как-то так будет ближе к схеме.
Код
module T(q,data,clk); input data, clk; output reg q = 1; always @ (posedge clk) if (data) q <= !q; endmodule module TTRigger(clk, q0, q1, q2, q3, q4, q5, q6, q7); input clk; output q0, q1, q2, q3, q4, q5, q6, q7; wire data0, data1, data2, data3, data4, data5, data6, data7; assign data0 = 1'b1; assign data1 = !q0; assign data2 = data1 & !q1; assign data3 = data2 & !q2; assign data4 = data3 & !q3; assign data5 = data4 & !q4; assign data6 = data5 & !q5; assign data7 = data6 & !q6; T t0(q0, data0, clk); T t1(q1, data1, clk); T t2(q2, data2, clk); T t3(q3, data3, clk); T t4(q4, data4, clk); T t5(q5, data5, clk); T t6(q6, data6, clk); T t7(q7, data7, clk); endmodule
1
|
03.06.2019, 23:44 | |
03.06.2019, 23:44 | |
Помогаю со студенческими работами здесь
4
VHDL: Асинхронный вычитающий счётчик с предварительной загрузкой начального счёта на D-триггерах Восьмиразрядный демультиплексор Восьмиразрядный умножитель на VHDL Вычитающий счетчик на D-триггерах Счётчик восьмиразрядный двоично-десятичный Вычитающий счетчик 6-5-4-3-2 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |