📄 spi_bytecounter_rtl.v
字号:
// HDLi Version 3.0 (beta)
// Parameters: counter -b8 -t0 -p1 -f0 -L0 -C -c -R -S -M -l vsc983 -Synopsys -rtl -nentity -nadd_p -ntiming -verilog -br 0,4,8,12,32,0
// spi_bytecounter: 126.00 physical gates (vsc983)
// spi_bytecounter: 3267.18 squm area (vsc983)
// -----------------------------------------------------------------------------
// VLSI Technology, Inc.
// -----------------------------------------------------------------------------
// Copyright 1999 by VLSI Technology, Inc. All rights reserved.
//
// This module is property of VLSI Technology, Inc (VLSI) and its use is
// granted to the customer for the sole purpose of implementing in silicon
// provided by VLSI. This module may only be used in accordance with the
// provisions of the Design Integrator License Agreement.
//
// -----------------------------------------------------------------------------
// Counter Compiler Version 1.1b
// -----------------------------------------------------------------------------
// spi_bytecounter : RTL Verilog
// (RTL is optimized for simulation, not synthesis)
// "spi_bytecounter.v" contains the Structural Verilog
//
// Compiled by coste_e on Fri Jun 18 10:42:16 1999
// -----------------------------------------------------------------------------
module spi_bytecounter (
clk,
cdn,
csn,
cen,
maxval,
q,
tci);
input clk;
input cdn;
input csn;
input cen;
input [7:0] maxval;
output [7:0] q;
output tci;
parameter areset_value = 8'b00000000;
parameter sreset_value = 8'b00000000;
parameter minval = 8'b00000000;
reg [7:0] q;
wire tci;
always @(posedge clk or negedge cdn)
begin
if (~cdn)
q <= areset_value;
else if (~csn)
q <= sreset_value;
else if (cen)
q <= ((q <= minval || q >= maxval) && &(q | ~maxval)) ? minval : (q+1);
end
assign tci = ((q <= minval || q>= maxval) && &(q | ~maxval));
endmodule // spi_bytecounter
// -----------------------------------------------------------------------------
// Verilog Component Instantiation:
// -----------------------------------------------------------------------------
/*
spi_bytecounter u1 (.clk(), // Clock Input
.cdn(), // Clear Direct Not Input
.csn(), // Clear Synchronous Not Input
.cen(), // Count Enable Input
.maxval(), // Programmable Maximum Count Value
.q(), // 8 bit Result
.tci()); // Terminal Count Indicator
*/
// -----------------------------------------------------------------------------
// Verilog Synthesis Commands:
// -----------------------------------------------------------------------------
/*
set_dont_touch find(design, spi_bytecounter, -hierarchy)
remove_attribute find(design, spi_bytecounter, -hierarchy) dont_touch
set_ungroup find(design, spi_bytecounter, -hierarchy)
*/
// -----------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -