1
0
forked from tanchou/Verilog

Code FPGA fonctionnel

This commit is contained in:
Gamenight77
2025-05-27 15:36:40 +02:00
parent 4e16bb3cbe
commit 168431849b
24 changed files with 2038 additions and 4 deletions

View File

@@ -0,0 +1,30 @@
import serial
import time
# Configuration du port série
ser = serial.Serial(
port='/dev/ttyUSB0', # Remplace par ton port (ex : COM3 sous Windows)
baudrate=115200,
timeout=1 # En secondes
)
print("Lecture du port série... (Ctrl+C pour quitter)")
try:
while True:
# Lire 2 octets
data = ser.read(2)
if len(data) == 2:
temperature = data[0]
humidite = data[1]
print(f"Température: {temperature}°C, Humidité: {humidite}%")
else:
print("Pas assez de données reçues.")
time.sleep(1)
except KeyboardInterrupt:
print("\nArrêt du script.")
finally:
ser.close()

View File

@@ -0,0 +1,65 @@
`timescale 1ns/1ps
module tb_dht11;
reg clk = 0;
always #18.5 clk = ~clk; // Génère une clock 27 MHz
// === Registres ===
wire io_dht11_sig;
reg dht11_start;
wire dht11_data_ready;
wire dht11_busy;
wire [7:0] dht11_temp_data;
wire [7:0] dht11_hum_data;
wire dht11_error;
// === Simulation du module DHT11 ===
dht11_model dht11_model (
.data(io_dht11_sig),
.clk(clk),
.rst_n(1'b1) // Reset non utilisé dans ce test
);
// === Module DHT11 INTERFACE ===
dht11_interface dht11_interface (
.i_clk(clk),
.io_dht11_sig(io_dht11_sig),
.i_start(dht11_start),
.o_dht11_data_ready(dht11_data_ready),
.o_busy(dht11_busy),
.o_temp_data(dht11_temp_data),
.o_hum_data(dht11_hum_data),
.o_dht11_error(dht11_error)
);
pullup(io_dht11_sig);
// === TEST SEQUENCE ===
initial begin
$dumpfile("runs/sim.vcd");
$dumpvars(0, tb_dht11);
dht11_start = 0;
$display("==== Start DHT11 Test ====");
#100;
dht11_start = 1; // Démarre la lecture des données
$display("DHT11 start...");
wait(dht11_busy); // Attend que le module soit occupé
$display("DHT11 busy...");
dht11_start = 0;
wait(dht11_data_ready); // Attend que les données soient prêtes
$display("DHT11 data ready...");
$display("Température : %d.%d °C", dht11_temp_data);
$display("Humidité : %d.%d %%", dht11_hum_data);
$display("==== End DHT11 Test ====");
$finish;
end
endmodule