void setup() {
  // put your setup code here, to run once:
}
void loop() {
  // put your main code here, to run repeatedly:
}
INPUT
-------
clk[0]
 en[1]
 load[2] 
countDown[3] 
 dataIn[4:7]
OUTPUT
-------
 countOut [0:3]
This IP block simulates a binary synchronous (parallel) MOD-16 counter. 
 Applications are CPU's, PWM signal generators, etc. 
It features: 
 - tri-direction (pause, count up, count down) 
 - loadable (use data[3:1], eg. for jump instruction) 
 - synchronous output(at rising edge) with async (ripple) setup of next count) 
 - easy to control, fast and scalable (each 1 bit counter only depends on previous counter)
LEGEND 
 
 yellow = clock signal 
 purple = count signal 
 teal = load signal 
 red = data signals 
 white = count up signal 
 grey = count down signal
ERC Warnings
flipflop2:CLK: Clock driven by combinatorial logic
flipflop3:CLK: Clock driven by combinatorial logic
flipflop4:CLK: Clock driven by combinatorial logic
flipflop5:CLK: Clock driven by combinatorial logic