Здравствуйте Уважаемые!!!
Код
module delay ( clk_in ,clk_out ,DATA ,nWE );
localparam WIDTH=16;
output clk_out;
reg clk_out /* synthesis syn_keep=1 alspreserve=1 */;
input clk_in;
wire clk_in;
input [WIDTH-1:0] DATA;
wire [WIDTH:0] DATA;
input nWE;
wire nWE;
reg [WIDTH:0] sel;
always@(posedge clk_in)
begin
if (nWE)
sel<=DATA;
end
always@*
begin
case(sel)
16'h 0000: clk_out<=clk_in /* synthesis syn_keep=1 alspreserve=1 */;
16'h 0001: clk_out<=!(!clk_in) /* synthesis syn_keep=1 alspreserve=1 */;
16'h 0002: clk_out<=!(!(!(!clk_in))) /* synthesis syn_keep=1 alspreserve=1 */;
.................................................................
default: clk_out<=1'b1;
endcase
end
endmodule
Подскажите как сделать то же самое (т.е задержку на инверторах), но чтобы синплифай не оптимизировал и не выкидывал цепочку инверторов. А если подскажете как заменить case на for или generate, то огромное спасибо и высочайший