Added counter
This commit is contained in:
parent
64d566d9c7
commit
85b407fa65
5
.gitignore
vendored
5
.gitignore
vendored
@ -5,5 +5,10 @@ devenv.local.nix
|
|||||||
# direnv
|
# direnv
|
||||||
.direnv
|
.direnv
|
||||||
|
|
||||||
|
*.bak
|
||||||
|
obj_dir
|
||||||
|
output.vcd
|
||||||
|
|
||||||
|
|
||||||
# pre-commit
|
# pre-commit
|
||||||
.pre-commit-config.yaml
|
.pre-commit-config.yaml
|
||||||
|
12
README.md
Normal file
12
README.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# DSB course
|
||||||
|
|
||||||
|
## Chapter 4
|
||||||
|
|
||||||
|
Minimum number for counter:
|
||||||
|
$$
|
||||||
|
N(t_{PWM}) = t_{PWM} * f
|
||||||
|
$$
|
||||||
|
Number of required bits:
|
||||||
|
$$
|
||||||
|
N = ^2log(N + 1)
|
||||||
|
$$
|
@ -1,8 +1,11 @@
|
|||||||
module timebase
|
`timescale 1ns/1ps
|
||||||
|
|
||||||
|
module timebase #(parameter N = 18)
|
||||||
(input logic clk,
|
(input logic clk,
|
||||||
input logic reset,
|
input logic reset,
|
||||||
output logic [?:0] count);
|
output logic [N-1:0] count);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
always_ff @(posedge clk, posedge reset)
|
||||||
|
if(reset) count <= 0;
|
||||||
|
else count <= count + 1;
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
`timescale 1ns/1ps
|
|
||||||
|
|
||||||
Aanpassing van lasse
|
|
||||||
|
|
||||||
Aanpassing van Timo
|
|
@ -4,7 +4,7 @@ module timebase_tb();
|
|||||||
|
|
||||||
logic clk;
|
logic clk;
|
||||||
logic reset;
|
logic reset;
|
||||||
logic [20:0] count;
|
logic [17:0] count;
|
||||||
|
|
||||||
timebase test (clk, reset, count);
|
timebase test (clk, reset, count);
|
||||||
|
|
||||||
@ -14,8 +14,12 @@ module timebase_tb();
|
|||||||
clk = 0;
|
clk = 0;
|
||||||
|
|
||||||
initial begin
|
initial begin
|
||||||
reset = 1;
|
$dumpfile("output.vcd");
|
||||||
#10; reset = 0;
|
$dumpvars;
|
||||||
|
|
||||||
|
reset = 0;
|
||||||
|
#200; reset = 1;
|
||||||
|
$finish;
|
||||||
end
|
end
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
11
devenv.nix
11
devenv.nix
@ -1,22 +1,11 @@
|
|||||||
{ pkgs, lib, config, inputs, ... }:
|
{ pkgs, lib, config, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# https://devenv.sh/basics/
|
|
||||||
env.GREET = "devenv";
|
env.GREET = "devenv";
|
||||||
|
|
||||||
# https://devenv.sh/packages/
|
# https://devenv.sh/packages/
|
||||||
packages = [ pkgs.verilator pkgs.gtkwave ];
|
packages = [ pkgs.verilator pkgs.gtkwave ];
|
||||||
|
|
||||||
# https://devenv.sh/languages/
|
|
||||||
# languages.rust.enable = true;
|
|
||||||
|
|
||||||
# https://devenv.sh/processes/
|
|
||||||
# processes.cargo-watch.exec = "cargo-watch";
|
|
||||||
|
|
||||||
# https://devenv.sh/services/
|
|
||||||
# services.postgres.enable = true;
|
|
||||||
|
|
||||||
# https://devenv.sh/scripts/
|
|
||||||
scripts.hello.exec = ''
|
scripts.hello.exec = ''
|
||||||
echo hello from $GREET
|
echo hello from $GREET
|
||||||
'';
|
'';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user