1 / 1 / 0
Регистрация: 27.05.2014
Сообщений: 46
|
|
1 | |
SystemVerilog. case(1'b1) vs priority casez (1'b1)25.03.2021, 21:01. Показов 676. Ответов 0
Доброго времени суток, уважаемые форумчане. Не так давно начал изучать FPGA и SystemVerilog. Изучаю по книге : "Логическое проектирование и верификация систем на SystyemVerilog.Автор Дональд Томас ". В книге есть пример использования case и case с дополнительными модификаторами. Можете объяснить в чём разница между case(1'b1) vs priority casez (1'b1) ? вот пример кода:
Код
module priEncode ( input logic r0,r1,r2, output logic [2:0] gnt ); logic [2:0] req; assign req ={r2,r1,r0}; always_comb begin gnt = 0; priority casez (1'b1) //case(1'b1) req[0] : gnt[0] = 1; req[1] : gnt[1] = 1; req[2] : gnt[2] = 1; endcase end endmodule: priEncode module test_priEncode; Код
logic r0,r1,r2; logic [2:0] gnt; priEncode priEncode(.r0(r0),.r1(r1),.r2(r2),.gnt(gnt)); initial begin gnt=3'b000; $monitor($time, " r0=%b r1=%b r2=%b gnt=%b", r0,r1,r2,gnt); #10 r0 = 1'b1; r2 = 1'b1; r1 = 1'b1; //$display(" r0=%b r1=%b r2=%b gnt=%b", //r0,r1,r2,gnt); #10 r0 = 1'b1; r1 = 1'b0; r2 = 1'b0; // $display(" r0=%b r1=%b r2=%b gnt=%b", // r0,r1,r2,gnt); #10 r0 = 1'b0; r1 = 1'b1; r2 = 1'b0; // $display(" r0=%b r1=%b r2=%b gnt=%b", // r0,r1,r2,gnt); #10 r0 = 1'b1; r1 = 1'b0; r2 = 1'b0; // $display(" r0=%b r1=%b r2=%b gnt=%b", // r0,r1,r2,gnt); #10 r0 = 1'b1; r1 = 1'b1; r2 = 1'b1; // $display(" r0=%b r1=%b r2=%b gnt=%b", // r0,r1,r2,gnt); #10 $finish; end и что с case(1'b1) ,и что с priority casez (1'b1) результат совершенно один и тот же. Может кто-нибудь пояснить в чём разница?
0
|
25.03.2021, 21:01 | |
Ответы с готовыми решениями:
0
Кто знает SystemVerilog Таблица истинности в SystemVerilog Ищу литературу по SystemVerilog на русском Лабораторная: генератор и периодические сигналы. SystemVerilog Как использовать интерфейс с параметрами в systemverilog? |
25.03.2021, 21:01 | |
25.03.2021, 21:01 | |
Помогаю со студенческими работами здесь
1
SystemVerilog. Как сделать стартовую инициализацию регистров? Как правильно реализовать простой конечный автомат на SystemVerilog? В Quartus II не могу создать символ из .sv | Как SystemVerilog связать с PLL? Почему case 0 не работает и почему case 2 не віводи сформированую матрицу( case 1) а выводит другую сформированую:? чем use case отличается от business use case (только по русски объяснить и с примером) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |