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
|
||||
|
||||
*.bak
|
||||
obj_dir
|
||||
output.vcd
|
||||
|
||||
|
||||
# pre-commit
|
||||
.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 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
|
||||
|
@ -1,5 +0,0 @@
|
||||
`timescale 1ns/1ps
|
||||
|
||||
Aanpassing van lasse
|
||||
|
||||
Aanpassing van Timo
|
@ -4,7 +4,7 @@ module timebase_tb();
|
||||
|
||||
logic clk;
|
||||
logic reset;
|
||||
logic [20:0] count;
|
||||
logic [17:0] count;
|
||||
|
||||
timebase test (clk, reset, count);
|
||||
|
||||
@ -14,8 +14,12 @@ module timebase_tb();
|
||||
clk = 0;
|
||||
|
||||
initial begin
|
||||
reset = 1;
|
||||
#10; reset = 0;
|
||||
$dumpfile("output.vcd");
|
||||
$dumpvars;
|
||||
|
||||
reset = 0;
|
||||
#200; reset = 1;
|
||||
$finish;
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
11
devenv.nix
11
devenv.nix
@ -1,22 +1,11 @@
|
||||
{ pkgs, lib, config, inputs, ... }:
|
||||
|
||||
{
|
||||
# https://devenv.sh/basics/
|
||||
env.GREET = "devenv";
|
||||
|
||||
# https://devenv.sh/packages/
|
||||
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 = ''
|
||||
echo hello from $GREET
|
||||
'';
|
||||
|
Loading…
x
Reference in New Issue
Block a user