Сообщение от
IanPo
ОПА! вот это да... что verilog каким-то образом поддерживает процесс С ДВУМЯ КЛОКАМИ???
Код:
module async_resetFFstyle2 (rst_n, clk, asyncrst_n);
output rst_n;
input clk, asyncrst_n;
reg rst_n, rff1;
always @(posedge clk or negedge asyncrst_n)
if (!asyncrst_n) {rst_n,rff1} <= 2'b0;
else {rst_n,rff1} <= {rff1,1'b1};
endmodule
это ж по идее не соответствует приведенному vhdl эквиваленту:
Код:
library ieee;
use ieee.std_logic_1164.all;
entity asyncresetFFstyle is
port (
clk : in std_logic;
asyncrst_n : in std_logic;
rst_n : out std_logic);
end asyncresetFFstyle;
architecture rtl of asyncresetFFstyle is
signal rff1 : std_logic;
begin
process (clk, asyncrst_n)
begin
if (asyncrst_n = '0') then
rff1 <= '0';
rst_n <= '0';
elsif (clk'event and clk = '1') then
rff1 <= '1';
rst_n <= rff1;
end if;
end process;
end rtl;
- - - Добавлено - - -
Сообщение от
svofski
Посмотрите на реверснутые процессоры от Vslav, там как раз это видно. Поскольку это реальное железо, комбинаторика и регистры четко разделены. Люди так редко пишут.
а можно сюда скинуть кусок текста оттуда, ато тяжело мне понять как "люди редко пишут" и почему...
- - - Добавлено - - -
Сообщение от
svofski
Это защелка, асинхронный элемент и как правило большой ататат в fpga.
У меня как бы дизайн под CPLD altera epm3064. Но интересно само это утверждение, которое для меня концептуально значит что ВСЕГДА надо как минимум 1 pin тратить на INPUT для какого-то CLOCK-a... что правда чтоли? неужели вообще не будет работать "по старинке" как оно на 556рт1 например работает (без clock-a вообще)