diff options
author | zedarider <ymherklotz@gmail.com> | 2016-12-01 23:57:19 +0000 |
---|---|---|
committer | zedarider <ymherklotz@gmail.com> | 2016-12-01 23:57:19 +0000 |
commit | 81337eb41dca51fcdba7572b0449927732f4f3b5 (patch) | |
tree | e7b0af7afa897e754a423b44b0fcd3849afc367b /part_3/ex11/verilog_files/pwm.v | |
parent | 6b492b7687c87f80bd530dda5a769c635b855ea4 (diff) | |
download | VerilogCoursework-81337eb41dca51fcdba7572b0449927732f4f3b5.tar.gz VerilogCoursework-81337eb41dca51fcdba7572b0449927732f4f3b5.zip |
adding part 2 and 3
Diffstat (limited to 'part_3/ex11/verilog_files/pwm.v')
-rwxr-xr-x | part_3/ex11/verilog_files/pwm.v | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/part_3/ex11/verilog_files/pwm.v b/part_3/ex11/verilog_files/pwm.v new file mode 100755 index 0000000..6a6e10c --- /dev/null +++ b/part_3/ex11/verilog_files/pwm.v @@ -0,0 +1,25 @@ +module pwm(clk, data_in, load, pwm_out);
+
+ input clk;
+ input [9:0] data_in;
+ input load;
+ output pwm_out;
+
+ reg[9:0] d;
+ reg [9:0] count;
+ reg pwm_out;
+
+ always @ (posedge clk)
+ if(load == 1'b1) d <= data_in;
+
+ initial count = 10'b0;
+
+ always @ (posedge clk) begin
+ count <= count + 1'b1;
+ if(count > d)
+ pwm_out <= 1'b0;
+ else
+ pwm_out <= 1'b1;
+ end
+
+endmodule
\ No newline at end of file |