Created
March 4, 2022 07:57
-
-
Save Martoni/2b0c1cea81e7cbd81fb2feec6c12a5ed to your computer and use it in GitHub Desktop.
GbHDMI project generated by Chisel GbHdmi module. With Gowin synthesis error
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
//Written by GowinSynthesis | |
//Product Version "GowinSynthesis V1.9.7.02Beta" | |
//Tue Jun 01 10:14:01 2021 | |
//Source file index table: | |
//file0 "\D:/Gowin/Gowin_V1.9.7.02Beta/IDE/ipcore/DVI_TX/data/dvi_tx_top.v" | |
//file1 "\D:/Gowin/Gowin_V1.9.7.02Beta/IDE/ipcore/DVI_TX/data/rgb2dvi.vp" | |
`timescale 100 ps/100 ps | |
`pragma protect begin_protected | |
`pragma protect version=1 | |
`pragma protect author="default" | |
`pragma protect author_info="default" | |
`pragma protect encrypt_agent="Synplify encryptP1735.pl" | |
`pragma protect encrypt_agent_info="Synplify encryptP1735.pl Version 1.1" | |
`pragma protect encoding=(enctype="base64", line_length=76, bytes=256) | |
`pragma protect key_keyowner="Synplicity",key_keyname="SYNP05_001",key_method="rsa" | |
`pragma protect key_block | |
vCzPjN0rWCxZX0lx0f6TqMe/+RARRhmqR6MxeSP6S5yYqiXXuid43DQQo5VVRJp2QFGcKNKyQ9JY | |
98Nvth83eWjAN+FjzX99mNuSryqyOzWvQ5Nxgbd7MwXstaBIJrjBsEvhy49tU5DMoOn9G1NNKOE7 | |
tqjFGjPV/3tr7+07xBcpCTc/Z8c0eHzRcHB7coF+GngSG58fbnPtvkrh0LbeseBpfiRyaHJaEc12 | |
H+HtY6chZZPyShxowxEE8Mepn446D3AT0WKuMVBeeV6GBKOIncho2/dNR7iri4xV3wxuoYSxX17t | |
zM9WMmJEKWpI3cjwdbsG15nmf9h9diSQEDQEgQ== | |
`pragma protect encoding=(enctype="base64", line_length=76, bytes=256) | |
`pragma protect key_keyowner="GoWin",key_keyname="GoWin001",key_method="rsa" | |
`pragma protect key_block | |
ZEsvWrOiLBL+b4ys/Kh1O73FDkDlfWuIgjifGeuBDiO882x9yQWAVMbnNKVR8mN+1KgxwaoJj/3R | |
K2wCww/3Ot2nPhSUEEZM0lveqERO74NC+H69fy3hCXVI4hsJe7wRYySLUSEcoNPBe/zN6FT8bKvb | |
cR8r0JwANSb+mLfa2jIzmxhzanWDumt5UUAvFRBA46JlwKawQBX+FzJhfTxMrpOgmjqWdJRfHezE | |
Khe2F7E2VXCPISyNZSPWgqrf7wnWUabmUghgQe6q9nq09vgto54ol1jqXF2grglwODKr+Udo0fi4 | |
ojqXpxhy19b4qRG+dq3KfyKD47NABlMfe6YYzA== | |
`pragma protect encoding=(enctype="base64", line_length=76, bytes=57376) | |
`pragma protect data_keyowner="default-ip-vendor" | |
`pragma protect data_keyname="default-ip-key" | |
`pragma protect data_method="aes128-cbc" | |
`pragma protect data_block | |
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 | |
`pragma protect end_protected | |
module DVI_TX_Top ( | |
I_rst_n, | |
I_serial_clk, | |
I_rgb_clk, | |
I_rgb_vs, | |
I_rgb_hs, | |
I_rgb_de, | |
I_rgb_r, | |
I_rgb_g, | |
I_rgb_b, | |
O_tmds_clk_p, | |
O_tmds_clk_n, | |
O_tmds_data_p, | |
O_tmds_data_n | |
) | |
; | |
input I_rst_n; | |
input I_serial_clk; | |
input I_rgb_clk; | |
input I_rgb_vs; | |
input I_rgb_hs; | |
input I_rgb_de; | |
input [7:0] I_rgb_r; | |
input [7:0] I_rgb_g; | |
input [7:0] I_rgb_b; | |
output O_tmds_clk_p; | |
output O_tmds_clk_n; | |
output [2:0] O_tmds_data_p; | |
output [2:0] O_tmds_data_n; | |
wire VCC; | |
wire GND; | |
\~rgb2dvi.DVI_TX_Top rgb2dvi_inst ( | |
.I_rgb_clk(I_rgb_clk), | |
.I_serial_clk(I_serial_clk), | |
.I_rst_n(I_rst_n), | |
.I_rgb_de(I_rgb_de), | |
.I_rgb_vs(I_rgb_vs), | |
.I_rgb_hs(I_rgb_hs), | |
.I_rgb_r(I_rgb_r[7:0]), | |
.I_rgb_g(I_rgb_g[7:0]), | |
.I_rgb_b(I_rgb_b[7:0]), | |
.O_tmds_clk_p(O_tmds_clk_p), | |
.O_tmds_clk_n(O_tmds_clk_n), | |
.O_tmds_data_p(O_tmds_data_p[2:0]), | |
.O_tmds_data_n(O_tmds_data_n[2:0]) | |
); | |
VCC VCC_cZ ( | |
.V(VCC) | |
); | |
GND GND_cZ ( | |
.G(GND) | |
); | |
GSR GSR ( | |
.GSRI(VCC) | |
); | |
endmodule /* DVI_TX_Top */ | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Copyright (C)2014-2020 Gowin Semiconductor Corporation. | |
//All rights reserved. | |
//File Title: Physical Constraints file | |
//GOWIN Version: 1.9.7.01Beta | |
//Part Number: GW1NSR-LV4CQN48PC7/I6 | |
//Device: GW1NSR-4C | |
//Created Time: Fri 06 11 14:54:37 2021 | |
IO_LOC "O_tmds_clk_p" 28,27; | |
IO_PORT "O_tmds_clk_p" PULL_MODE=NONE DRIVE=3.5; | |
IO_LOC "O_tmds_data_0_p" 30,29; | |
IO_PORT "O_tmds_data_0_p" PULL_MODE=NONE DRIVE=3.5; | |
IO_LOC "O_tmds_data_1_p" 32,31; | |
IO_PORT "O_tmds_data_1_p" PULL_MODE=NONE DRIVE=3.5; | |
IO_LOC "O_tmds_data_2_p" 35,34; | |
IO_PORT "O_tmds_data_2_p" PULL_MODE=NONE DRIVE=3.5; | |
IO_LOC "O_led[0]" 10; | |
IO_PORT "O_led[0]" IO_TYPE=LVCMOS33 PULL_MODE=NONE DRIVE=8; | |
IO_LOC "I_reset_n" 14; | |
IO_PORT "I_reset_n" PULL_MODE=UP; | |
IO_LOC "I_clk" 45; | |
IO_PORT "I_clk" IO_TYPE=LVCMOS33 PULL_MODE=UP; | |
// Gameboy video pinout | |
IO_PORT "gb_hsync" PULL_MODE=DOWN; | |
IO_LOC "gb_hsync" 43; | |
IO_PORT "gb_vsync" PULL_MODE=DOWN; | |
IO_LOC "gb_vsync" 39; | |
IO_PORT "gb_clk" PULL_MODE=DOWN; | |
IO_LOC "gb_clk" 40; | |
IO_PORT "gb_data[0]" PULL_MODE=DOWN; | |
IO_LOC "gb_data[0]" 41; | |
IO_PORT "gb_data[1]" PULL_MODE=DOWN; | |
IO_LOC "gb_data[1]" 42; | |
// Gameboy pad pinout | |
IO_PORT "gbpad_a" PULL_MODE=DOWN; | |
IO_PORT "gbpad_b" PULL_MODE=DOWN; | |
IO_PORT "gbpad_select" PULL_MODE=DOWN; | |
IO_PORT "gbpad_start" PULL_MODE=DOWN; | |
IO_PORT "gbpad_right" PULL_MODE=DOWN; | |
IO_PORT "gbpad_left" PULL_MODE=DOWN; | |
IO_PORT "gbpad_up" PULL_MODE=DOWN; | |
IO_PORT "gbpad_down" PULL_MODE=DOWN; | |
IO_LOC "gbpad_a" 16; | |
IO_LOC "gbpad_b" 13; | |
IO_LOC "gbpad_select" 17; | |
IO_LOC "gbpad_start" 18; | |
IO_LOC "gbpad_right" 19; | |
IO_LOC "gbpad_left" 20; | |
IO_LOC "gbpad_up" 21; | |
IO_LOC "gbpad_down" 22; | |
// SNES keypad pinout | |
IO_PORT "snes_dclock" PULL_MODE=DOWN; | |
IO_PORT "snes_dlatch" PULL_MODE=DOWN; | |
IO_PORT "snes_sdata" PULL_MODE=DOWN; | |
IO_LOC "snes_dclock" 47; | |
IO_LOC "snes_dlatch" 48; | |
IO_LOC "snes_sdata" 1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Copyright (C)2014-2021 GOWIN Semiconductor Corporation. | |
//All rights reserved. | |
//File Title: Timing Constraints file | |
//GOWIN Version: 1.9.7.02 Beta | |
//Created Time: 2021-06-01 10:34:02 | |
create_clock -name I_clk -period 37.037 -waveform {0 18.518} [get_ports {I_clk}] -add | |
create_clock -name serial_clk -period 2.694 -waveform {0 1.347} [get_nets {tmdsPllvr_clkout}] -add | |
create_clock -name pix_clk -period 13.468 -waveform {0 6.734} [get_nets {clkDiv_CLKOUT}] -add |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Copyright (C)2014-2020 Gowin Semiconductor Corporation. | |
//All rights reserved. | |
//File Title: IP file | |
//GOWIN Version: V1.9.7.01Beta | |
//Part Number: GW1NSR-LV4CQN48PC7/I6 | |
//Device: GW1NSR-4C | |
//Created Time: Tue Nov 03 14:39:26 2020 | |
module TMDS_PLLVR (clkout, lock, clkoutd, clkin); | |
output clkout; | |
output lock; | |
output clkoutd; | |
input clkin; | |
wire clkoutp_o; | |
wire clkoutd3_o; | |
wire gw_vcc; | |
wire gw_gnd; | |
assign gw_vcc = 1'b1; | |
assign gw_gnd = 1'b0; | |
PLLVR pllvr_inst ( | |
.CLKOUT(clkout), | |
.LOCK(lock), | |
.CLKOUTP(clkoutp_o), | |
.CLKOUTD(clkoutd), | |
.CLKOUTD3(clkoutd3_o), | |
.RESET(gw_gnd), | |
.RESET_P(gw_gnd), | |
.CLKIN(clkin), | |
.CLKFB(gw_gnd), | |
.FBDSEL({gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd}), | |
.IDSEL({gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd}), | |
.ODSEL({gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd,gw_gnd}), | |
.PSDA({gw_gnd,gw_gnd,gw_gnd,gw_gnd}), | |
.DUTYDA({gw_gnd,gw_gnd,gw_gnd,gw_gnd}), | |
.FDLY({gw_gnd,gw_gnd,gw_gnd,gw_gnd}), | |
.VREN(gw_vcc) | |
); | |
defparam pllvr_inst.FCLKIN = "27"; | |
defparam pllvr_inst.DYN_IDIV_SEL = "false"; | |
defparam pllvr_inst.IDIV_SEL = 3; | |
defparam pllvr_inst.DYN_FBDIV_SEL = "false"; | |
defparam pllvr_inst.FBDIV_SEL = 54; | |
defparam pllvr_inst.DYN_ODIV_SEL = "false"; | |
defparam pllvr_inst.ODIV_SEL = 2; | |
defparam pllvr_inst.PSDA_SEL = "0000"; | |
defparam pllvr_inst.DYN_DA_EN = "false"; | |
defparam pllvr_inst.DUTYDA_SEL = "1000"; | |
defparam pllvr_inst.CLKOUT_FT_DIR = 1'b1; | |
defparam pllvr_inst.CLKOUTP_FT_DIR = 1'b1; | |
defparam pllvr_inst.CLKOUT_DLY_STEP = 0; | |
defparam pllvr_inst.CLKOUTP_DLY_STEP = 0; | |
defparam pllvr_inst.CLKFB_SEL = "internal"; | |
defparam pllvr_inst.CLKOUT_BYPASS = "false"; | |
defparam pllvr_inst.CLKOUTP_BYPASS = "false"; | |
defparam pllvr_inst.CLKOUTD_BYPASS = "false"; | |
defparam pllvr_inst.DYN_SDIV_SEL = 30; | |
defparam pllvr_inst.CLKOUTD_SRC = "CLKOUT"; | |
defparam pllvr_inst.CLKOUTD3_SRC = "CLKOUT"; | |
defparam pllvr_inst.DEVICE = "GW1NSR-4C"; | |
endmodule //TMDS_PLLVR |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module ChisNesPad( | |
input clock, | |
input reset, | |
output io_dclock, | |
output io_dlatch, | |
input io_sdata, | |
output io_data_valid, | |
output [15:0] io_data_bits | |
); | |
`ifdef RANDOMIZE_REG_INIT | |
reg [31:0] _RAND_0; | |
reg [31:0] _RAND_1; | |
reg [31:0] _RAND_2; | |
reg [31:0] _RAND_3; | |
reg [31:0] _RAND_4; | |
reg [31:0] _RAND_5; | |
reg [31:0] _RAND_6; | |
reg [31:0] _RAND_7; | |
reg [31:0] _RAND_8; | |
`endif // RANDOMIZE_REG_INIT | |
reg [14:0] countReg; // @[chisnespad.scala 23:25] | |
reg fallReg; // @[chisnespad.scala 24:24] | |
reg riseReg; // @[chisnespad.scala 25:24] | |
reg [4:0] regCount; // @[chisnespad.scala 28:25] | |
reg [15:0] padReg; // @[chisnespad.scala 29:23] | |
reg [2:0] stateReg; // @[chisnespad.scala 34:25] | |
reg validReg; // @[chisnespad.scala 35:25] | |
wire _T_5 = countReg >= 15'h6978; // @[chisnespad.scala 41:19] | |
wire _T_6 = countReg == 15'h34bc; // @[chisnespad.scala 44:25] | |
wire [14:0] _countReg_T_1 = countReg + 15'h1; // @[chisnespad.scala 46:28] | |
wire [14:0] _GEN_1 = countReg == 15'h34bc ? _countReg_T_1 : _countReg_T_1; // @[chisnespad.scala 44:44 46:16 48:16] | |
wire [14:0] _GEN_2 = countReg >= 15'h6978 ? 15'h0 : _GEN_1; // @[chisnespad.scala 41:33 42:16] | |
wire _GEN_4 = countReg >= 15'h6978 ? 1'h0 : _T_6; // @[chisnespad.scala 39:11 41:33] | |
wire [14:0] _GEN_5 = stateReg == 3'h2 | stateReg == 3'h1 | stateReg == 3'h4 ? _GEN_2 : countReg; // @[chisnespad.scala 23:25 40:73] | |
wire _GEN_6 = (stateReg == 3'h2 | stateReg == 3'h1 | stateReg == 3'h4) & _T_5; // @[chisnespad.scala 38:11 40:73] | |
wire _GEN_7 = (stateReg == 3'h2 | stateReg == 3'h1 | stateReg == 3'h4) & _GEN_4; // @[chisnespad.scala 39:11 40:73] | |
wire [4:0] _regCount_T_1 = regCount - 5'h1; // @[chisnespad.scala 54:28] | |
wire [15:0] _padReg_T_1 = {padReg[14:0],io_sdata}; // @[chisnespad.scala 55:39] | |
wire [2:0] _GEN_13 = riseReg ? 3'h1 : stateReg; // @[chisnespad.scala 75:20 76:18 34:25] | |
wire [2:0] _GEN_14 = regCount != 5'h0 ? 3'h2 : 3'h3; // @[chisnespad.scala 82:31 83:20 85:20] | |
wire [2:0] _GEN_15 = fallReg ? _GEN_14 : stateReg; // @[chisnespad.scala 81:20 34:25] | |
wire [2:0] _GEN_16 = 3'h3 == stateReg ? 3'h0 : stateReg; // @[chisnespad.scala 61:19 90:16 34:25] | |
wire [2:0] _GEN_18 = 3'h1 == stateReg ? _GEN_15 : _GEN_16; // @[chisnespad.scala 61:19] | |
wire _GEN_19 = 3'h1 == stateReg ? 1'h0 : 3'h3 == stateReg; // @[chisnespad.scala 60:12 61:19] | |
reg io_dclock_REG; // @[chisnespad.scala 95:23] | |
reg io_dlatch_REG; // @[chisnespad.scala 96:23] | |
assign io_dclock = io_dclock_REG; // @[chisnespad.scala 95:13] | |
assign io_dlatch = io_dlatch_REG; // @[chisnespad.scala 96:13] | |
assign io_data_valid = validReg; // @[chisnespad.scala 98:17] | |
assign io_data_bits = padReg; // @[chisnespad.scala 97:16] | |
always @(posedge clock) begin | |
if (reset) begin // @[chisnespad.scala 23:25] | |
countReg <= 15'h0; // @[chisnespad.scala 23:25] | |
end else if (3'h0 == stateReg) begin // @[chisnespad.scala 61:19] | |
if (~io_data_valid) begin // @[chisnespad.scala 64:44] | |
countReg <= 15'h0; // @[chisnespad.scala 66:18] | |
end else begin | |
countReg <= _GEN_5; | |
end | |
end else begin | |
countReg <= _GEN_5; | |
end | |
if (reset) begin // @[chisnespad.scala 24:24] | |
fallReg <= 1'h0; // @[chisnespad.scala 24:24] | |
end else begin | |
fallReg <= _GEN_7; | |
end | |
if (reset) begin // @[chisnespad.scala 25:24] | |
riseReg <= 1'h0; // @[chisnespad.scala 25:24] | |
end else begin | |
riseReg <= _GEN_6; | |
end | |
if (reset) begin // @[chisnespad.scala 28:25] | |
regCount <= 5'h11; // @[chisnespad.scala 28:25] | |
end else if (3'h0 == stateReg) begin // @[chisnespad.scala 61:19] | |
regCount <= 5'h11; // @[chisnespad.scala 63:16] | |
end else if (riseReg) begin // @[chisnespad.scala 53:17] | |
regCount <= _regCount_T_1; // @[chisnespad.scala 54:16] | |
end | |
if (reset) begin // @[chisnespad.scala 29:23] | |
padReg <= 16'h0; // @[chisnespad.scala 29:23] | |
end else if (riseReg) begin // @[chisnespad.scala 53:17] | |
padReg <= _padReg_T_1; // @[chisnespad.scala 55:14] | |
end | |
if (reset) begin // @[chisnespad.scala 34:25] | |
stateReg <= 3'h0; // @[chisnespad.scala 34:25] | |
end else if (3'h0 == stateReg) begin // @[chisnespad.scala 61:19] | |
if (~io_data_valid) begin // @[chisnespad.scala 64:44] | |
stateReg <= 3'h4; // @[chisnespad.scala 65:18] | |
end | |
end else if (3'h4 == stateReg) begin // @[chisnespad.scala 61:19] | |
if (riseReg) begin // @[chisnespad.scala 70:20] | |
stateReg <= 3'h2; // @[chisnespad.scala 71:18] | |
end | |
end else if (3'h2 == stateReg) begin // @[chisnespad.scala 61:19] | |
stateReg <= _GEN_13; | |
end else begin | |
stateReg <= _GEN_18; | |
end | |
if (reset) begin // @[chisnespad.scala 35:25] | |
validReg <= 1'h0; // @[chisnespad.scala 35:25] | |
end else if (3'h0 == stateReg) begin // @[chisnespad.scala 61:19] | |
validReg <= 1'h0; // @[chisnespad.scala 60:12] | |
end else if (3'h4 == stateReg) begin // @[chisnespad.scala 61:19] | |
validReg <= 1'h0; // @[chisnespad.scala 60:12] | |
end else if (3'h2 == stateReg) begin // @[chisnespad.scala 61:19] | |
validReg <= 1'h0; // @[chisnespad.scala 60:12] | |
end else begin | |
validReg <= _GEN_19; | |
end | |
io_dclock_REG <= stateReg == 3'h1; // @[chisnespad.scala 95:33] | |
io_dlatch_REG <= stateReg == 3'h4; // @[chisnespad.scala 96:33] | |
end | |
// Register and memory initialization | |
`ifdef RANDOMIZE_GARBAGE_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_INVALID_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
`define RANDOMIZE | |
`endif | |
`ifndef RANDOM | |
`define RANDOM $random | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
integer initvar; | |
`endif | |
`ifndef SYNTHESIS | |
`ifdef FIRRTL_BEFORE_INITIAL | |
`FIRRTL_BEFORE_INITIAL | |
`endif | |
initial begin | |
`ifdef RANDOMIZE | |
`ifdef INIT_RANDOM | |
`INIT_RANDOM | |
`endif | |
`ifndef VERILATOR | |
`ifdef RANDOMIZE_DELAY | |
#`RANDOMIZE_DELAY begin end | |
`else | |
#0.002 begin end | |
`endif | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
_RAND_0 = {1{`RANDOM}}; | |
countReg = _RAND_0[14:0]; | |
_RAND_1 = {1{`RANDOM}}; | |
fallReg = _RAND_1[0:0]; | |
_RAND_2 = {1{`RANDOM}}; | |
riseReg = _RAND_2[0:0]; | |
_RAND_3 = {1{`RANDOM}}; | |
regCount = _RAND_3[4:0]; | |
_RAND_4 = {1{`RANDOM}}; | |
padReg = _RAND_4[15:0]; | |
_RAND_5 = {1{`RANDOM}}; | |
stateReg = _RAND_5[2:0]; | |
_RAND_6 = {1{`RANDOM}}; | |
validReg = _RAND_6[0:0]; | |
_RAND_7 = {1{`RANDOM}}; | |
io_dclock_REG = _RAND_7[0:0]; | |
_RAND_8 = {1{`RANDOM}}; | |
io_dlatch_REG = _RAND_8[0:0]; | |
`endif // RANDOMIZE_REG_INIT | |
`endif // RANDOMIZE | |
end // initial | |
`ifdef FIRRTL_AFTER_INITIAL | |
`FIRRTL_AFTER_INITIAL | |
`endif | |
`endif // SYNTHESIS | |
endmodule | |
module GbWrite( | |
input clock, | |
input reset, | |
input io_gb_vsync, | |
input io_gb_clk, | |
input [1:0] io_gb_data, | |
output [14:0] io_Maddr, | |
output [1:0] io_Mdata, | |
output io_Mwrite | |
); | |
`ifdef RANDOMIZE_REG_INIT | |
reg [31:0] _RAND_0; | |
reg [31:0] _RAND_1; | |
reg [31:0] _RAND_2; | |
reg [31:0] _RAND_3; | |
`endif // RANDOMIZE_REG_INIT | |
reg [14:0] pixelCount; // @[gbwrite.scala 27:27] | |
reg [1:0] pixel; // @[gbwrite.scala 31:22] | |
reg REG; // @[gbinclude.scala 24:42] | |
wire _T_1 = io_gb_vsync & ~REG; // @[gbinclude.scala 24:31] | |
reg REG_2; // @[gbinclude.scala 25:43] | |
wire _T_5 = ~io_gb_clk & REG_2; // @[gbinclude.scala 25:33] | |
wire [14:0] _pixelCount_T_1 = pixelCount + 15'h1; // @[gbwrite.scala 49:30] | |
assign io_Maddr = pixelCount; // @[gbwrite.scala 53:12] | |
assign io_Mdata = pixel; // @[gbwrite.scala 55:12] | |
assign io_Mwrite = ~io_gb_clk & REG_2; // @[gbinclude.scala 25:33] | |
always @(posedge clock) begin | |
if (reset) begin // @[gbwrite.scala 27:27] | |
pixelCount <= 15'h5a00; // @[gbwrite.scala 27:27] | |
end else if (_T_5) begin // @[gbwrite.scala 48:27] | |
pixelCount <= _pixelCount_T_1; // @[gbwrite.scala 49:16] | |
end else if (_T_1) begin // @[gbwrite.scala 34:28] | |
pixelCount <= 15'h0; // @[gbwrite.scala 37:16] | |
end | |
if (reset) begin // @[gbwrite.scala 31:22] | |
pixel <= 2'h0; // @[gbwrite.scala 31:22] | |
end else begin | |
pixel <= io_gb_data; // @[gbwrite.scala 54:9] | |
end | |
REG <= io_gb_vsync; // @[gbinclude.scala 24:42] | |
REG_2 <= io_gb_clk; // @[gbinclude.scala 25:43] | |
end | |
// Register and memory initialization | |
`ifdef RANDOMIZE_GARBAGE_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_INVALID_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
`define RANDOMIZE | |
`endif | |
`ifndef RANDOM | |
`define RANDOM $random | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
integer initvar; | |
`endif | |
`ifndef SYNTHESIS | |
`ifdef FIRRTL_BEFORE_INITIAL | |
`FIRRTL_BEFORE_INITIAL | |
`endif | |
initial begin | |
`ifdef RANDOMIZE | |
`ifdef INIT_RANDOM | |
`INIT_RANDOM | |
`endif | |
`ifndef VERILATOR | |
`ifdef RANDOMIZE_DELAY | |
#`RANDOMIZE_DELAY begin end | |
`else | |
#0.002 begin end | |
`endif | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
_RAND_0 = {1{`RANDOM}}; | |
pixelCount = _RAND_0[14:0]; | |
_RAND_1 = {1{`RANDOM}}; | |
pixel = _RAND_1[1:0]; | |
_RAND_2 = {1{`RANDOM}}; | |
REG = _RAND_2[0:0]; | |
_RAND_3 = {1{`RANDOM}}; | |
REG_2 = _RAND_3[0:0]; | |
`endif // RANDOMIZE_REG_INIT | |
`endif // RANDOMIZE | |
end // initial | |
`ifdef FIRRTL_AFTER_INITIAL | |
`FIRRTL_AFTER_INITIAL | |
`endif | |
`endif // SYNTHESIS | |
endmodule | |
module HVSync( | |
input clock, | |
input reset, | |
output io_hsync, | |
output io_vsync, | |
output io_display_on, | |
output [10:0] io_hpos, | |
output [9:0] io_vpos | |
); | |
`ifdef RANDOMIZE_REG_INIT | |
reg [31:0] _RAND_0; | |
reg [31:0] _RAND_1; | |
`endif // RANDOMIZE_REG_INIT | |
wire [10:0] H_SYNC_END = 11'h596 - 11'h1; // @[hvsync.scala 51:51] | |
wire [10:0] H_MAX = 11'h672 - 11'h1; // @[hvsync.scala 52:60] | |
wire [9:0] V_SYNC_END = 10'h2e9 - 10'h1; // @[hvsync.scala 54:52] | |
wire [9:0] V_MAX = 10'h2ee - 10'h1; // @[hvsync.scala 55:60] | |
reg [10:0] hpos_count; // @[hvsync.scala 62:27] | |
reg [9:0] vpos_count; // @[hvsync.scala 63:27] | |
wire _io_hsync_T_1 = hpos_count <= H_SYNC_END; // @[hvsync.scala 71:29] | |
wire hpos_max = hpos_count == H_MAX; // @[hvsync.scala 73:29] | |
wire vpos_max = vpos_count == V_MAX; // @[hvsync.scala 74:29] | |
wire [10:0] _hpos_count_T_1 = hpos_count + 11'h1; // @[hvsync.scala 76:28] | |
wire _io_vsync_T_1 = vpos_count <= V_SYNC_END; // @[hvsync.scala 83:27] | |
wire [9:0] _vpos_count_T_1 = vpos_count + 10'h1; // @[hvsync.scala 85:30] | |
assign io_hsync = ~(hpos_count >= 11'h56e & _io_hsync_T_1); // @[hvsync.scala 70:15] | |
assign io_vsync = ~(vpos_count >= 10'h2e4 & _io_vsync_T_1); // @[hvsync.scala 82:15] | |
assign io_display_on = hpos_count < 11'h500 & vpos_count < 10'h2d0; // @[hvsync.scala 67:45] | |
assign io_hpos = hpos_count; // @[hvsync.scala 65:11] | |
assign io_vpos = vpos_count; // @[hvsync.scala 64:11] | |
always @(posedge clock) begin | |
if (reset) begin // @[hvsync.scala 62:27] | |
hpos_count <= 11'h0; // @[hvsync.scala 62:27] | |
end else if (hpos_max) begin // @[hvsync.scala 77:17] | |
hpos_count <= 11'h0; // @[hvsync.scala 78:16] | |
end else begin | |
hpos_count <= _hpos_count_T_1; // @[hvsync.scala 76:14] | |
end | |
if (reset) begin // @[hvsync.scala 63:27] | |
vpos_count <= 10'h0; // @[hvsync.scala 63:27] | |
end else if (hpos_max) begin // @[hvsync.scala 84:18] | |
if (vpos_max) begin // @[hvsync.scala 86:20] | |
vpos_count <= 10'h0; // @[hvsync.scala 87:18] | |
end else begin | |
vpos_count <= _vpos_count_T_1; // @[hvsync.scala 85:16] | |
end | |
end | |
end | |
// Register and memory initialization | |
`ifdef RANDOMIZE_GARBAGE_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_INVALID_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
`define RANDOMIZE | |
`endif | |
`ifndef RANDOM | |
`define RANDOM $random | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
integer initvar; | |
`endif | |
`ifndef SYNTHESIS | |
`ifdef FIRRTL_BEFORE_INITIAL | |
`FIRRTL_BEFORE_INITIAL | |
`endif | |
initial begin | |
`ifdef RANDOMIZE | |
`ifdef INIT_RANDOM | |
`INIT_RANDOM | |
`endif | |
`ifndef VERILATOR | |
`ifdef RANDOMIZE_DELAY | |
#`RANDOMIZE_DELAY begin end | |
`else | |
#0.002 begin end | |
`endif | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
_RAND_0 = {1{`RANDOM}}; | |
hpos_count = _RAND_0[10:0]; | |
_RAND_1 = {1{`RANDOM}}; | |
vpos_count = _RAND_1[9:0]; | |
`endif // RANDOMIZE_REG_INIT | |
`endif // RANDOMIZE | |
end // initial | |
`ifdef FIRRTL_AFTER_INITIAL | |
`FIRRTL_AFTER_INITIAL | |
`endif | |
`endif // SYNTHESIS | |
endmodule | |
module MemHdmi( | |
input clock, | |
input reset, | |
output [14:0] io_mem_addr, | |
input [1:0] io_mem_data, | |
output io_video_hsync, | |
output io_video_vsync, | |
output [7:0] io_video_color_red, | |
output [7:0] io_video_color_green, | |
output [7:0] io_video_color_blue, | |
output io_video_de, | |
input [1:0] io_pattern_num | |
); | |
`ifdef RANDOMIZE_REG_INIT | |
reg [31:0] _RAND_0; | |
reg [31:0] _RAND_1; | |
reg [31:0] _RAND_2; | |
reg [31:0] _RAND_3; | |
`endif // RANDOMIZE_REG_INIT | |
wire hv_sync_clock; // @[memhdmi.scala 32:25] | |
wire hv_sync_reset; // @[memhdmi.scala 32:25] | |
wire hv_sync_io_hsync; // @[memhdmi.scala 32:25] | |
wire hv_sync_io_vsync; // @[memhdmi.scala 32:25] | |
wire hv_sync_io_display_on; // @[memhdmi.scala 32:25] | |
wire [10:0] hv_sync_io_hpos; // @[memhdmi.scala 32:25] | |
wire [9:0] hv_sync_io_vpos; // @[memhdmi.scala 32:25] | |
wire [10:0] _xpos_T_1 = 11'h500 - 11'h280; // @[memhdmi.scala 40:35] | |
wire [10:0] xpos = _xpos_T_1 / 2'h2; // @[memhdmi.scala 40:54] | |
wire [9:0] _ypos_T_1 = 10'h2d0 - 10'h240; // @[memhdmi.scala 41:35] | |
wire [9:0] ypos = _ypos_T_1 / 2'h2; // @[memhdmi.scala 41:55] | |
wire gb_display = hv_sync_io_display_on & hv_sync_io_vpos > ypos & hv_sync_io_hpos > xpos; // @[memhdmi.scala 43:71] | |
reg [7:0] gblines; // @[memhdmi.scala 45:26] | |
reg [7:0] gbcols; // @[memhdmi.scala 46:25] | |
reg [14:0] gbpix; // @[memhdmi.scala 47:24] | |
reg [1:0] state; // @[memhdmi.scala 51:24] | |
wire _T_3 = gblines <= 8'h8f; // @[memhdmi.scala 61:22] | |
wire _T_4 = gbcols >= 8'h9f & _T_3; // @[memhdmi.scala 60:40] | |
wire [1:0] _GEN_1 = _T_4 ? 2'h2 : state; // @[memhdmi.scala 61:41 62:17 51:24] | |
wire [1:0] _GEN_3 = gblines < 8'h90 ? 2'h1 : state; // @[memhdmi.scala 73:38 74:19 51:24] | |
wire [1:0] _GEN_4 = ~hv_sync_io_hsync ? _GEN_3 : state; // @[memhdmi.scala 51:24 72:32] | |
wire [1:0] _GEN_5 = ~hv_sync_io_vsync ? 2'h0 : _GEN_4; // @[memhdmi.scala 77:32 78:17] | |
wire [1:0] _GEN_6 = 2'h3 == state ? _GEN_5 : state; // @[memhdmi.scala 53:19 51:24] | |
wire [10:0] _GEN_0 = hv_sync_io_hpos % 11'h4; // @[memhdmi.scala 84:39] | |
wire [2:0] _newgbline_T = _GEN_0[2:0]; // @[memhdmi.scala 84:39] | |
wire newgbline = _newgbline_T == 3'h3; // @[memhdmi.scala 84:49] | |
wire [9:0] _GEN_2 = hv_sync_io_vpos % 10'h4; // @[memhdmi.scala 85:38] | |
wire [2:0] _newgbcol_T = _GEN_2[2:0]; // @[memhdmi.scala 85:38] | |
wire newgbcol = _newgbcol_T == 3'h3; // @[memhdmi.scala 85:48] | |
wire [14:0] _gbpix_T_1 = gbpix + 15'h1; // @[memhdmi.scala 89:24] | |
wire [7:0] _gbcols_T_1 = gbcols + 8'h1; // @[memhdmi.scala 90:26] | |
wire [14:0] _GEN_10 = state == 2'h1 & newgbline ? _gbpix_T_1 : gbpix; // @[memhdmi.scala 88:44 89:15 47:24] | |
wire [7:0] _GEN_11 = state == 2'h1 & newgbline ? _gbcols_T_1 : gbcols; // @[memhdmi.scala 88:44 90:16 46:25] | |
wire [7:0] _gblines_T_1 = gblines + 8'h1; // @[memhdmi.scala 94:32] | |
wire [14:0] _gbpix_T_5 = gbpix - 15'ha0; // @[memhdmi.scala 97:28] | |
wire [14:0] _gbpix_T_7 = _gbpix_T_5 + 15'h1; // @[memhdmi.scala 97:40] | |
wire [7:0] _GEN_12 = newgbcol ? _gblines_T_1 : gblines; // @[memhdmi.scala 93:23 94:21 45:26] | |
wire [14:0] _GEN_13 = newgbcol ? _gbpix_T_1 : _gbpix_T_7; // @[memhdmi.scala 93:23 95:19 97:19] | |
wire _GEN_74 = 2'h0 == io_pattern_num; // @[gbhdmi.scala 23:{34,34}] | |
wire _GEN_75 = 2'h1 == io_mem_data; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_24 = 2'h0 == io_pattern_num & 2'h1 == io_mem_data ? 6'hc : 6'h26; // @[gbhdmi.scala 23:{34,34}] | |
wire _GEN_77 = 2'h2 == io_mem_data; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_25 = 2'h0 == io_pattern_num & 2'h2 == io_mem_data ? 6'h1e : _GEN_24; // @[gbhdmi.scala 23:{34,34}] | |
wire _GEN_79 = 2'h3 == io_mem_data; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_26 = 2'h0 == io_pattern_num & 2'h3 == io_mem_data ? 6'h3 : _GEN_25; // @[gbhdmi.scala 23:{34,34}] | |
wire _GEN_80 = 2'h1 == io_pattern_num; // @[gbhdmi.scala 23:{34,34}] | |
wire _GEN_81 = 2'h0 == io_mem_data; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_27 = 2'h1 == io_pattern_num & 2'h0 == io_mem_data ? 6'h3f : _GEN_26; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_28 = 2'h1 == io_pattern_num & 2'h1 == io_mem_data ? 6'h2a : _GEN_27; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_29 = 2'h1 == io_pattern_num & 2'h2 == io_mem_data ? 6'h15 : _GEN_28; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_30 = 2'h1 == io_pattern_num & 2'h3 == io_mem_data ? 6'h0 : _GEN_29; // @[gbhdmi.scala 23:{34,34}] | |
wire _GEN_88 = 2'h2 == io_pattern_num; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_31 = 2'h2 == io_pattern_num & 2'h0 == io_mem_data ? 6'h3d : _GEN_30; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_32 = 2'h2 == io_pattern_num & 2'h1 == io_mem_data ? 6'h3e : _GEN_31; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_33 = 2'h2 == io_pattern_num & 2'h2 == io_mem_data ? 6'h31 : _GEN_32; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_34 = 2'h2 == io_pattern_num & 2'h3 == io_mem_data ? 6'h1b : _GEN_33; // @[gbhdmi.scala 23:{34,34}] | |
wire _GEN_96 = 2'h3 == io_pattern_num; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_35 = 2'h3 == io_pattern_num & 2'h0 == io_mem_data ? 6'h3f : _GEN_34; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_36 = 2'h3 == io_pattern_num & 2'h1 == io_mem_data ? 6'h0 : _GEN_35; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_37 = 2'h3 == io_pattern_num & 2'h2 == io_mem_data ? 6'h0 : _GEN_36; // @[gbhdmi.scala 23:{34,34}] | |
wire [5:0] _GEN_38 = 2'h3 == io_pattern_num & 2'h3 == io_mem_data ? 6'h0 : _GEN_37; // @[gbhdmi.scala 23:{34,34}] | |
wire [7:0] io_video_color_retColors_1_red = {_GEN_38,2'h0}; // @[gbhdmi.scala 23:34] | |
wire [5:0] _GEN_40 = _GEN_74 & _GEN_75 ? 6'h18 : 6'h2f; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_41 = _GEN_74 & _GEN_77 ? 6'h27 : _GEN_40; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_42 = _GEN_74 & _GEN_79 ? 6'he : _GEN_41; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_43 = _GEN_80 & _GEN_81 ? 6'h3f : _GEN_42; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_44 = _GEN_80 & _GEN_75 ? 6'h2a : _GEN_43; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_45 = _GEN_80 & _GEN_77 ? 6'h15 : _GEN_44; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_46 = _GEN_80 & _GEN_79 ? 6'h0 : _GEN_45; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_47 = _GEN_88 & _GEN_81 ? 6'h29 : _GEN_46; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_48 = _GEN_88 & _GEN_75 ? 6'h13 : _GEN_47; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_49 = _GEN_88 & _GEN_77 ? 6'h1 : _GEN_48; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_50 = _GEN_88 & _GEN_79 ? 6'h1 : _GEN_49; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_51 = _GEN_96 & _GEN_81 ? 6'h3f : _GEN_50; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_52 = _GEN_96 & _GEN_75 ? 6'h3f : _GEN_51; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_53 = _GEN_96 & _GEN_77 ? 6'h0 : _GEN_52; // @[gbhdmi.scala 24:{36,36}] | |
wire [5:0] _GEN_54 = _GEN_96 & _GEN_79 ? 6'h0 : _GEN_53; // @[gbhdmi.scala 24:{36,36}] | |
wire [7:0] io_video_color_retColors_1_green = {_GEN_54,2'h0}; // @[gbhdmi.scala 24:36] | |
wire [5:0] _GEN_56 = _GEN_74 & _GEN_75 ? 6'hc : 6'h3; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_57 = _GEN_74 & _GEN_77 ? 6'h3 : _GEN_56; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_58 = _GEN_74 & _GEN_79 ? 6'h3 : _GEN_57; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_59 = _GEN_80 & _GEN_81 ? 6'h3f : _GEN_58; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_60 = _GEN_80 & _GEN_75 ? 6'h2a : _GEN_59; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_61 = _GEN_80 & _GEN_77 ? 6'h15 : _GEN_60; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_62 = _GEN_80 & _GEN_79 ? 6'h0 : _GEN_61; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_63 = _GEN_88 & _GEN_81 ? 6'h38 : _GEN_62; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_64 = _GEN_88 & _GEN_75 ? 6'h33 : _GEN_63; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_65 = _GEN_88 & _GEN_77 ? 6'h25 : _GEN_64; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_66 = _GEN_88 & _GEN_79 ? 6'h15 : _GEN_65; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_67 = _GEN_96 & _GEN_81 ? 6'h3f : _GEN_66; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_68 = _GEN_96 & _GEN_75 ? 6'h3f : _GEN_67; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_69 = _GEN_96 & _GEN_77 ? 6'h3f : _GEN_68; // @[gbhdmi.scala 25:{35,35}] | |
wire [5:0] _GEN_70 = _GEN_96 & _GEN_79 ? 6'h0 : _GEN_69; // @[gbhdmi.scala 25:{35,35}] | |
wire [7:0] io_video_color_retColors_1_blue = {_GEN_70,2'h0}; // @[gbhdmi.scala 25:35] | |
HVSync hv_sync ( // @[memhdmi.scala 32:25] | |
.clock(hv_sync_clock), | |
.reset(hv_sync_reset), | |
.io_hsync(hv_sync_io_hsync), | |
.io_vsync(hv_sync_io_vsync), | |
.io_display_on(hv_sync_io_display_on), | |
.io_hpos(hv_sync_io_hpos), | |
.io_vpos(hv_sync_io_vpos) | |
); | |
assign io_mem_addr = gbpix; // @[memhdmi.scala 117:18] | |
assign io_video_hsync = hv_sync_io_hsync; // @[memhdmi.scala 33:20] | |
assign io_video_vsync = hv_sync_io_vsync; // @[memhdmi.scala 34:20] | |
assign io_video_color_red = gb_display & state != 2'h3 ? io_video_color_retColors_1_red : 8'h0; // @[memhdmi.scala 111:20 112:42 113:22] | |
assign io_video_color_green = gb_display & state != 2'h3 ? io_video_color_retColors_1_green : 8'h0; // @[memhdmi.scala 111:20 112:42 113:22] | |
assign io_video_color_blue = gb_display & state != 2'h3 ? io_video_color_retColors_1_blue : 8'h0; // @[memhdmi.scala 111:20 112:42 113:22] | |
assign io_video_de = hv_sync_io_display_on; // @[memhdmi.scala 35:20] | |
assign hv_sync_clock = clock; | |
assign hv_sync_reset = reset; | |
always @(posedge clock) begin | |
if (reset) begin // @[memhdmi.scala 45:26] | |
gblines <= 8'h0; // @[memhdmi.scala 45:26] | |
end else if (state == 2'h0) begin // @[memhdmi.scala 102:25] | |
gblines <= 8'h0; // @[memhdmi.scala 105:15] | |
end else if (gb_display) begin // @[memhdmi.scala 87:21] | |
if (state == 2'h2) begin // @[memhdmi.scala 92:30] | |
gblines <= _GEN_12; | |
end | |
end | |
if (reset) begin // @[memhdmi.scala 46:25] | |
gbcols <= 8'h0; // @[memhdmi.scala 46:25] | |
end else if (state == 2'h0) begin // @[memhdmi.scala 102:25] | |
gbcols <= 8'h0; // @[memhdmi.scala 104:14] | |
end else if (gb_display) begin // @[memhdmi.scala 87:21] | |
if (state == 2'h2) begin // @[memhdmi.scala 92:30] | |
gbcols <= 8'h0; // @[memhdmi.scala 99:16] | |
end else begin | |
gbcols <= _GEN_11; | |
end | |
end | |
if (reset) begin // @[memhdmi.scala 47:24] | |
gbpix <= 15'h0; // @[memhdmi.scala 47:24] | |
end else if (state == 2'h0) begin // @[memhdmi.scala 102:25] | |
gbpix <= 15'h0; // @[memhdmi.scala 103:13] | |
end else if (gb_display) begin // @[memhdmi.scala 87:21] | |
if (state == 2'h2) begin // @[memhdmi.scala 92:30] | |
gbpix <= _GEN_13; | |
end else begin | |
gbpix <= _GEN_10; | |
end | |
end | |
if (reset) begin // @[memhdmi.scala 51:24] | |
state <= 2'h0; // @[memhdmi.scala 51:24] | |
end else if (2'h0 == state) begin // @[memhdmi.scala 53:19] | |
if (gb_display) begin // @[memhdmi.scala 55:25] | |
state <= 2'h1; // @[memhdmi.scala 56:17] | |
end | |
end else if (2'h1 == state) begin // @[memhdmi.scala 53:19] | |
if (gblines > 8'h8f) begin // @[memhdmi.scala 64:41] | |
state <= 2'h3; // @[memhdmi.scala 65:17] | |
end else begin | |
state <= _GEN_1; | |
end | |
end else if (2'h2 == state) begin // @[memhdmi.scala 53:19] | |
state <= 2'h3; // @[memhdmi.scala 69:19] | |
end else begin | |
state <= _GEN_6; | |
end | |
end | |
// Register and memory initialization | |
`ifdef RANDOMIZE_GARBAGE_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_INVALID_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
`define RANDOMIZE | |
`endif | |
`ifndef RANDOM | |
`define RANDOM $random | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
integer initvar; | |
`endif | |
`ifndef SYNTHESIS | |
`ifdef FIRRTL_BEFORE_INITIAL | |
`FIRRTL_BEFORE_INITIAL | |
`endif | |
initial begin | |
`ifdef RANDOMIZE | |
`ifdef INIT_RANDOM | |
`INIT_RANDOM | |
`endif | |
`ifndef VERILATOR | |
`ifdef RANDOMIZE_DELAY | |
#`RANDOMIZE_DELAY begin end | |
`else | |
#0.002 begin end | |
`endif | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
_RAND_0 = {1{`RANDOM}}; | |
gblines = _RAND_0[7:0]; | |
_RAND_1 = {1{`RANDOM}}; | |
gbcols = _RAND_1[7:0]; | |
_RAND_2 = {1{`RANDOM}}; | |
gbpix = _RAND_2[14:0]; | |
_RAND_3 = {1{`RANDOM}}; | |
state = _RAND_3[1:0]; | |
`endif // RANDOMIZE_REG_INIT | |
`endif // RANDOMIZE | |
end // initial | |
`ifdef FIRRTL_AFTER_INITIAL | |
`FIRRTL_AFTER_INITIAL | |
`endif | |
`endif // SYNTHESIS | |
endmodule | |
module TMDSEncoder( | |
input clock, | |
input reset, | |
input io_en, | |
input [1:0] io_ctrl, | |
input [7:0] io_din, | |
output [9:0] io_dout | |
); | |
`ifdef RANDOMIZE_REG_INIT | |
reg [31:0] _RAND_0; | |
reg [31:0] _RAND_1; | |
`endif // RANDOMIZE_REG_INIT | |
wire [1:0] _n_one_din_T_8 = io_din[0] + io_din[1]; // @[Bitwise.scala 48:55] | |
wire [1:0] _n_one_din_T_10 = io_din[2] + io_din[3]; // @[Bitwise.scala 48:55] | |
wire [2:0] _n_one_din_T_12 = _n_one_din_T_8 + _n_one_din_T_10; // @[Bitwise.scala 48:55] | |
wire [1:0] _n_one_din_T_14 = io_din[4] + io_din[5]; // @[Bitwise.scala 48:55] | |
wire [1:0] _n_one_din_T_16 = io_din[6] + io_din[7]; // @[Bitwise.scala 48:55] | |
wire [2:0] _n_one_din_T_18 = _n_one_din_T_14 + _n_one_din_T_16; // @[Bitwise.scala 48:55] | |
wire [3:0] n_one_din = _n_one_din_T_12 + _n_one_din_T_18; // @[Bitwise.scala 48:55] | |
wire [6:0] _xored_res_T_8 = {io_din[7],io_din[6],io_din[5],io_din[4],io_din[3],io_din[2],io_din[1]}; // @[TmdsEncoder.scala 21:65] | |
wire [5:0] _xored_res_res_T_7 = {_xored_res_T_8[6],_xored_res_T_8[5],_xored_res_T_8[4],_xored_res_T_8[3], | |
_xored_res_T_8[2],_xored_res_T_8[1]}; // @[TmdsEncoder.scala 21:65] | |
wire [4:0] _xored_res_res_res_T_6 = {_xored_res_res_T_7[5],_xored_res_res_T_7[4],_xored_res_res_T_7[3], | |
_xored_res_res_T_7[2],_xored_res_res_T_7[1]}; // @[TmdsEncoder.scala 21:65] | |
wire [3:0] _xored_res_res_res_res_T_5 = {_xored_res_res_res_T_6[4],_xored_res_res_res_T_6[3],_xored_res_res_res_T_6[2] | |
,_xored_res_res_res_T_6[1]}; // @[TmdsEncoder.scala 21:65] | |
wire [2:0] _xored_res_res_res_res_res_T_4 = {_xored_res_res_res_res_T_5[3],_xored_res_res_res_res_T_5[2], | |
_xored_res_res_res_res_T_5[1]}; // @[TmdsEncoder.scala 21:65] | |
wire [1:0] _xored_res_res_res_res_res_res_T_3 = {_xored_res_res_res_res_res_T_4[2],_xored_res_res_res_res_res_T_4[1]}; // @[TmdsEncoder.scala 21:65] | |
wire xored_res_res_res_res_res_res_res = _xored_res_res_res_res_res_res_T_3[1]; // @[TmdsEncoder.scala 21:48] | |
wire [1:0] _xored_res_res_res_res_res_res_T_7 = {xored_res_res_res_res_res_res_res,xored_res_res_res_res_res_res_res}; // @[TmdsEncoder.scala 22:49] | |
wire [1:0] _GEN_13 = {{1'd0}, _xored_res_res_res_res_res_res_T_3[0]}; // @[TmdsEncoder.scala 22:30] | |
wire [1:0] xored_res_res_res_res_res_res = _GEN_13 ^ _xored_res_res_res_res_res_res_T_7; // @[TmdsEncoder.scala 22:30] | |
wire [2:0] _xored_res_res_res_res_res_T_10 = {xored_res_res_res_res_res_res[0],xored_res_res_res_res_res_res}; // @[TmdsEncoder.scala 22:49] | |
wire [2:0] _GEN_14 = {{2'd0}, _xored_res_res_res_res_res_T_4[0]}; // @[TmdsEncoder.scala 22:30] | |
wire [2:0] xored_res_res_res_res_res = _GEN_14 ^ _xored_res_res_res_res_res_T_10; // @[TmdsEncoder.scala 22:30] | |
wire [3:0] _xored_res_res_res_res_T_13 = {xored_res_res_res_res_res[0],xored_res_res_res_res_res}; // @[TmdsEncoder.scala 22:49] | |
wire [3:0] _GEN_15 = {{3'd0}, _xored_res_res_res_res_T_5[0]}; // @[TmdsEncoder.scala 22:30] | |
wire [3:0] xored_res_res_res_res = _GEN_15 ^ _xored_res_res_res_res_T_13; // @[TmdsEncoder.scala 22:30] | |
wire [4:0] _xored_res_res_res_T_16 = {xored_res_res_res_res[0],xored_res_res_res_res}; // @[TmdsEncoder.scala 22:49] | |
wire [4:0] _GEN_16 = {{4'd0}, _xored_res_res_res_T_6[0]}; // @[TmdsEncoder.scala 22:30] | |
wire [4:0] xored_res_res_res = _GEN_16 ^ _xored_res_res_res_T_16; // @[TmdsEncoder.scala 22:30] | |
wire [5:0] _xored_res_res_T_19 = {xored_res_res_res[0],xored_res_res_res}; // @[TmdsEncoder.scala 22:49] | |
wire [5:0] _GEN_17 = {{5'd0}, _xored_res_res_T_7[0]}; // @[TmdsEncoder.scala 22:30] | |
wire [5:0] xored_res_res = _GEN_17 ^ _xored_res_res_T_19; // @[TmdsEncoder.scala 22:30] | |
wire [6:0] _xored_res_T_22 = {xored_res_res[0],xored_res_res}; // @[TmdsEncoder.scala 22:49] | |
wire [6:0] _GEN_18 = {{6'd0}, _xored_res_T_8[0]}; // @[TmdsEncoder.scala 22:30] | |
wire [6:0] xored_res = _GEN_18 ^ _xored_res_T_22; // @[TmdsEncoder.scala 22:30] | |
wire [7:0] _xored_T_15 = {xored_res[0],xored_res}; // @[TmdsEncoder.scala 22:49] | |
wire [7:0] _GEN_19 = {{7'd0}, io_din[0]}; // @[TmdsEncoder.scala 22:30] | |
wire [7:0] _xored_T_16 = _GEN_19 ^ _xored_T_15; // @[TmdsEncoder.scala 22:30] | |
wire [8:0] xored = {1'h1,_xored_T_16}; // @[TmdsEncoder.scala 25:24] | |
wire _xnored_res_res_res_res_res_res_T_8 = ~(_xored_res_res_res_res_res_res_T_3[0] ^ | |
xored_res_res_res_res_res_res_res); // @[TmdsEncoder.scala 32:11] | |
wire [1:0] xnored_res_res_res_res_res_res = {_xnored_res_res_res_res_res_res_T_8,xored_res_res_res_res_res_res_res}; // @[TmdsEncoder.scala 32:52] | |
wire _xnored_res_res_res_res_res_T_11 = ~(_xored_res_res_res_res_res_T_4[0] ^ xnored_res_res_res_res_res_res[0]); // @[TmdsEncoder.scala 32:11] | |
wire [2:0] xnored_res_res_res_res_res = {_xnored_res_res_res_res_res_T_11,_xnored_res_res_res_res_res_res_T_8, | |
xored_res_res_res_res_res_res_res}; // @[TmdsEncoder.scala 32:52] | |
wire _xnored_res_res_res_res_T_14 = ~(_xored_res_res_res_res_T_5[0] ^ xnored_res_res_res_res_res[0]); // @[TmdsEncoder.scala 32:11] | |
wire [3:0] xnored_res_res_res_res = {_xnored_res_res_res_res_T_14,_xnored_res_res_res_res_res_T_11, | |
_xnored_res_res_res_res_res_res_T_8,xored_res_res_res_res_res_res_res}; // @[TmdsEncoder.scala 32:52] | |
wire _xnored_res_res_res_T_17 = ~(_xored_res_res_res_T_6[0] ^ xnored_res_res_res_res[0]); // @[TmdsEncoder.scala 32:11] | |
wire [4:0] xnored_res_res_res = {_xnored_res_res_res_T_17,_xnored_res_res_res_res_T_14, | |
_xnored_res_res_res_res_res_T_11,_xnored_res_res_res_res_res_res_T_8,xored_res_res_res_res_res_res_res}; // @[TmdsEncoder.scala 32:52] | |
wire _xnored_res_res_T_20 = ~(_xored_res_res_T_7[0] ^ xnored_res_res_res[0]); // @[TmdsEncoder.scala 32:11] | |
wire [5:0] xnored_res_res = {_xnored_res_res_T_20,_xnored_res_res_res_T_17,_xnored_res_res_res_res_T_14, | |
_xnored_res_res_res_res_res_T_11,_xnored_res_res_res_res_res_res_T_8,xored_res_res_res_res_res_res_res}; // @[TmdsEncoder.scala 32:52] | |
wire _xnored_res_T_23 = ~(_xored_res_T_8[0] ^ xnored_res_res[0]); // @[TmdsEncoder.scala 32:11] | |
wire [6:0] xnored_res = {_xnored_res_T_23,_xnored_res_res_T_20,_xnored_res_res_res_T_17,_xnored_res_res_res_res_T_14, | |
_xnored_res_res_res_res_res_T_11,_xnored_res_res_res_res_res_res_T_8,xored_res_res_res_res_res_res_res}; // @[TmdsEncoder.scala 32:52] | |
wire _xnored_T_16 = ~(io_din[0] ^ xnored_res[0]); // @[TmdsEncoder.scala 32:11] | |
wire [8:0] xnored = {1'h0,_xnored_T_16,_xnored_res_T_23,_xnored_res_res_T_20,_xnored_res_res_res_T_17, | |
_xnored_res_res_res_res_T_14,_xnored_res_res_res_res_res_T_11,_xnored_res_res_res_res_res_res_T_8, | |
xored_res_res_res_res_res_res_res}; // @[TmdsEncoder.scala 35:25] | |
wire _q_m_T_5 = n_one_din > 4'h4 | n_one_din == 4'h4 & ~io_din[0]; // @[TmdsEncoder.scala 39:23] | |
wire [8:0] q_m = _q_m_T_5 ? xnored : xored; // @[TmdsEncoder.scala 38:16] | |
wire [1:0] _diff_T_9 = q_m[0] + q_m[1]; // @[Bitwise.scala 48:55] | |
wire [1:0] _diff_T_11 = q_m[2] + q_m[3]; // @[Bitwise.scala 48:55] | |
wire [2:0] _diff_T_13 = _diff_T_9 + _diff_T_11; // @[Bitwise.scala 48:55] | |
wire [1:0] _diff_T_15 = q_m[4] + q_m[5]; // @[Bitwise.scala 48:55] | |
wire [1:0] _diff_T_17 = q_m[7] + q_m[8]; // @[Bitwise.scala 48:55] | |
wire [1:0] _GEN_20 = {{1'd0}, q_m[6]}; // @[Bitwise.scala 48:55] | |
wire [2:0] _diff_T_19 = _GEN_20 + _diff_T_17; // @[Bitwise.scala 48:55] | |
wire [2:0] _diff_T_21 = _diff_T_15 + _diff_T_19[1:0]; // @[Bitwise.scala 48:55] | |
wire [3:0] _diff_T_25 = _diff_T_13 + _diff_T_21; // @[TmdsEncoder.scala 43:28] | |
wire [3:0] diff = $signed(_diff_T_25) - 4'sh4; // @[TmdsEncoder.scala 43:35] | |
reg [3:0] disparityReg; // @[TmdsEncoder.scala 47:29] | |
reg [9:0] doutReg; // @[TmdsEncoder.scala 48:24] | |
wire [9:0] _GEN_0 = 2'h2 == io_ctrl ? 10'h154 : 10'h2ab; // @[TmdsEncoder.scala 51:13 52:20 55:34] | |
wire [9:0] _doutReg_T_1 = {2'h2,q_m[7:0]}; // @[TmdsEncoder.scala 61:33] | |
wire [3:0] _disparityReg_T_2 = $signed(disparityReg) - $signed(diff); // @[TmdsEncoder.scala 62:38] | |
wire [9:0] _doutReg_T_3 = {2'h1,q_m[7:0]}; // @[TmdsEncoder.scala 64:33] | |
wire [3:0] _disparityReg_T_5 = $signed(disparityReg) + $signed(diff); // @[TmdsEncoder.scala 65:38] | |
wire _T_13 = ~diff[3] & ~disparityReg[3]; // @[TmdsEncoder.scala 67:36] | |
wire [7:0] _doutReg_T_7 = ~q_m[7:0]; // @[TmdsEncoder.scala 69:40] | |
wire [9:0] _doutReg_T_8 = {1'h1,q_m[8],_doutReg_T_7}; // @[TmdsEncoder.scala 69:37] | |
wire [3:0] _disparityReg_T_8 = $signed(disparityReg) + 4'sh1; // @[TmdsEncoder.scala 71:38] | |
wire [3:0] _disparityReg_T_11 = $signed(_disparityReg_T_8) - $signed(diff); // @[TmdsEncoder.scala 71:44] | |
wire [3:0] _GEN_5 = q_m[8] ? $signed(_disparityReg_T_11) : $signed(_disparityReg_T_2); // @[TmdsEncoder.scala 70:19 71:22 73:22] | |
wire [9:0] _doutReg_T_9 = {1'h0,q_m}; // @[TmdsEncoder.scala 76:27] | |
wire [3:0] _disparityReg_T_20 = $signed(disparityReg) - 4'sh1; // @[TmdsEncoder.scala 80:38] | |
wire [3:0] _disparityReg_T_23 = $signed(_disparityReg_T_20) + $signed(diff); // @[TmdsEncoder.scala 80:44] | |
wire [3:0] _GEN_6 = q_m[8] ? $signed(_disparityReg_T_5) : $signed(_disparityReg_T_23); // @[TmdsEncoder.scala 77:19 78:22 80:22] | |
assign io_dout = doutReg; // @[TmdsEncoder.scala 84:11] | |
always @(posedge clock) begin | |
if (reset) begin // @[TmdsEncoder.scala 47:29] | |
disparityReg <= 4'sh0; // @[TmdsEncoder.scala 47:29] | |
end else if (~io_en) begin // @[TmdsEncoder.scala 49:26] | |
disparityReg <= 4'sh0; // @[TmdsEncoder.scala 50:18] | |
end else if ($signed(disparityReg) == 4'sh0 | $signed(diff) == 4'sh0) begin // @[TmdsEncoder.scala 58:47] | |
if (~q_m[8]) begin // @[TmdsEncoder.scala 60:31] | |
disparityReg <= _disparityReg_T_2; // @[TmdsEncoder.scala 62:22] | |
end else begin | |
disparityReg <= _disparityReg_T_5; // @[TmdsEncoder.scala 65:22] | |
end | |
end else if (_T_13 | diff[3] & disparityReg[3]) begin // @[TmdsEncoder.scala 68:72] | |
disparityReg <= _GEN_5; | |
end else begin | |
disparityReg <= _GEN_6; | |
end | |
if (reset) begin // @[TmdsEncoder.scala 48:24] | |
doutReg <= 10'h2ab; // @[TmdsEncoder.scala 48:24] | |
end else if (~io_en) begin // @[TmdsEncoder.scala 49:26] | |
if (2'h0 == io_ctrl) begin // @[TmdsEncoder.scala 52:20] | |
doutReg <= 10'h354; // @[TmdsEncoder.scala 53:34] | |
end else if (2'h1 == io_ctrl) begin // @[TmdsEncoder.scala 52:20] | |
doutReg <= 10'hab; // @[TmdsEncoder.scala 54:34] | |
end else begin | |
doutReg <= _GEN_0; | |
end | |
end else if ($signed(disparityReg) == 4'sh0 | $signed(diff) == 4'sh0) begin // @[TmdsEncoder.scala 58:47] | |
if (~q_m[8]) begin // @[TmdsEncoder.scala 60:31] | |
doutReg <= _doutReg_T_1; // @[TmdsEncoder.scala 61:17] | |
end else begin | |
doutReg <= _doutReg_T_3; // @[TmdsEncoder.scala 64:17] | |
end | |
end else if (_T_13 | diff[3] & disparityReg[3]) begin // @[TmdsEncoder.scala 68:72] | |
doutReg <= _doutReg_T_8; // @[TmdsEncoder.scala 69:15] | |
end else begin | |
doutReg <= _doutReg_T_9; // @[TmdsEncoder.scala 76:15] | |
end | |
end | |
// Register and memory initialization | |
`ifdef RANDOMIZE_GARBAGE_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_INVALID_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
`define RANDOMIZE | |
`endif | |
`ifndef RANDOM | |
`define RANDOM $random | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
integer initvar; | |
`endif | |
`ifndef SYNTHESIS | |
`ifdef FIRRTL_BEFORE_INITIAL | |
`FIRRTL_BEFORE_INITIAL | |
`endif | |
initial begin | |
`ifdef RANDOMIZE | |
`ifdef INIT_RANDOM | |
`INIT_RANDOM | |
`endif | |
`ifndef VERILATOR | |
`ifdef RANDOMIZE_DELAY | |
#`RANDOMIZE_DELAY begin end | |
`else | |
#0.002 begin end | |
`endif | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
_RAND_0 = {1{`RANDOM}}; | |
disparityReg = _RAND_0[3:0]; | |
_RAND_1 = {1{`RANDOM}}; | |
doutReg = _RAND_1[9:0]; | |
`endif // RANDOMIZE_REG_INIT | |
`endif // RANDOMIZE | |
end // initial | |
`ifdef FIRRTL_AFTER_INITIAL | |
`FIRRTL_AFTER_INITIAL | |
`endif | |
`endif // SYNTHESIS | |
endmodule | |
module Rgb2Tmds( | |
input clock, | |
input reset, | |
input [7:0] io_videoSig_pixel_red, | |
input [7:0] io_videoSig_pixel_green, | |
input [7:0] io_videoSig_pixel_blue, | |
input io_videoSig_de, | |
input io_videoSig_hsync, | |
input io_videoSig_vsync, | |
output [9:0] io_tmds_blue, | |
output [9:0] io_tmds_red, | |
output [9:0] io_tmds_green | |
); | |
wire tbM_clock; // @[Rgb2Tmds.scala 16:19] | |
wire tbM_reset; // @[Rgb2Tmds.scala 16:19] | |
wire tbM_io_en; // @[Rgb2Tmds.scala 16:19] | |
wire [1:0] tbM_io_ctrl; // @[Rgb2Tmds.scala 16:19] | |
wire [7:0] tbM_io_din; // @[Rgb2Tmds.scala 16:19] | |
wire [9:0] tbM_io_dout; // @[Rgb2Tmds.scala 16:19] | |
wire trM_clock; // @[Rgb2Tmds.scala 23:19] | |
wire trM_reset; // @[Rgb2Tmds.scala 23:19] | |
wire trM_io_en; // @[Rgb2Tmds.scala 23:19] | |
wire [1:0] trM_io_ctrl; // @[Rgb2Tmds.scala 23:19] | |
wire [7:0] trM_io_din; // @[Rgb2Tmds.scala 23:19] | |
wire [9:0] trM_io_dout; // @[Rgb2Tmds.scala 23:19] | |
wire tgM_clock; // @[Rgb2Tmds.scala 30:19] | |
wire tgM_reset; // @[Rgb2Tmds.scala 30:19] | |
wire tgM_io_en; // @[Rgb2Tmds.scala 30:19] | |
wire [1:0] tgM_io_ctrl; // @[Rgb2Tmds.scala 30:19] | |
wire [7:0] tgM_io_din; // @[Rgb2Tmds.scala 30:19] | |
wire [9:0] tgM_io_dout; // @[Rgb2Tmds.scala 30:19] | |
TMDSEncoder tbM ( // @[Rgb2Tmds.scala 16:19] | |
.clock(tbM_clock), | |
.reset(tbM_reset), | |
.io_en(tbM_io_en), | |
.io_ctrl(tbM_io_ctrl), | |
.io_din(tbM_io_din), | |
.io_dout(tbM_io_dout) | |
); | |
TMDSEncoder trM ( // @[Rgb2Tmds.scala 23:19] | |
.clock(trM_clock), | |
.reset(trM_reset), | |
.io_en(trM_io_en), | |
.io_ctrl(trM_io_ctrl), | |
.io_din(trM_io_din), | |
.io_dout(trM_io_dout) | |
); | |
TMDSEncoder tgM ( // @[Rgb2Tmds.scala 30:19] | |
.clock(tgM_clock), | |
.reset(tgM_reset), | |
.io_en(tgM_io_en), | |
.io_ctrl(tgM_io_ctrl), | |
.io_din(tgM_io_din), | |
.io_dout(tgM_io_dout) | |
); | |
assign io_tmds_blue = tbM_io_dout; // @[Rgb2Tmds.scala 20:16] | |
assign io_tmds_red = trM_io_dout; // @[Rgb2Tmds.scala 27:15] | |
assign io_tmds_green = tgM_io_dout; // @[Rgb2Tmds.scala 34:17] | |
assign tbM_clock = clock; | |
assign tbM_reset = reset; | |
assign tbM_io_en = io_videoSig_de; // @[Rgb2Tmds.scala 17:13] | |
assign tbM_io_ctrl = {io_videoSig_vsync,io_videoSig_hsync}; // @[Rgb2Tmds.scala 18:36] | |
assign tbM_io_din = io_videoSig_pixel_blue; // @[Rgb2Tmds.scala 19:14] | |
assign trM_clock = clock; | |
assign trM_reset = reset; | |
assign trM_io_en = io_videoSig_de; // @[Rgb2Tmds.scala 24:13] | |
assign trM_io_ctrl = 2'h0; // @[Rgb2Tmds.scala 25:15] | |
assign trM_io_din = io_videoSig_pixel_red; // @[Rgb2Tmds.scala 26:14] | |
assign tgM_clock = clock; | |
assign tgM_reset = reset; | |
assign tgM_io_en = io_videoSig_de; // @[Rgb2Tmds.scala 31:13] | |
assign tgM_io_ctrl = 2'h0; // @[Rgb2Tmds.scala 32:15] | |
assign tgM_io_din = io_videoSig_pixel_green; // @[Rgb2Tmds.scala 33:14] | |
endmodule | |
module Oser10Module( | |
input clock, | |
input reset, | |
output io_q, | |
input [9:0] io_data, | |
input io_fclk | |
); | |
wire osr10_Q; // @[littlebee.scala 57:21] | |
wire osr10_D0; // @[littlebee.scala 57:21] | |
wire osr10_D1; // @[littlebee.scala 57:21] | |
wire osr10_D2; // @[littlebee.scala 57:21] | |
wire osr10_D3; // @[littlebee.scala 57:21] | |
wire osr10_D4; // @[littlebee.scala 57:21] | |
wire osr10_D5; // @[littlebee.scala 57:21] | |
wire osr10_D6; // @[littlebee.scala 57:21] | |
wire osr10_D7; // @[littlebee.scala 57:21] | |
wire osr10_D8; // @[littlebee.scala 57:21] | |
wire osr10_D9; // @[littlebee.scala 57:21] | |
wire osr10_PCLK; // @[littlebee.scala 57:21] | |
wire osr10_FCLK; // @[littlebee.scala 57:21] | |
wire osr10_RESET; // @[littlebee.scala 57:21] | |
OSER10 #(.GSREN("false"), .LSREN("true")) osr10 ( // @[littlebee.scala 57:21] | |
.Q(osr10_Q), | |
.D0(osr10_D0), | |
.D1(osr10_D1), | |
.D2(osr10_D2), | |
.D3(osr10_D3), | |
.D4(osr10_D4), | |
.D5(osr10_D5), | |
.D6(osr10_D6), | |
.D7(osr10_D7), | |
.D8(osr10_D8), | |
.D9(osr10_D9), | |
.PCLK(osr10_PCLK), | |
.FCLK(osr10_FCLK), | |
.RESET(osr10_RESET) | |
); | |
assign io_q = osr10_Q; // @[littlebee.scala 58:8] | |
assign osr10_D0 = io_data[0]; // @[littlebee.scala 59:25] | |
assign osr10_D1 = io_data[1]; // @[littlebee.scala 60:25] | |
assign osr10_D2 = io_data[2]; // @[littlebee.scala 61:25] | |
assign osr10_D3 = io_data[3]; // @[littlebee.scala 62:25] | |
assign osr10_D4 = io_data[4]; // @[littlebee.scala 63:25] | |
assign osr10_D5 = io_data[5]; // @[littlebee.scala 64:25] | |
assign osr10_D6 = io_data[6]; // @[littlebee.scala 65:25] | |
assign osr10_D7 = io_data[7]; // @[littlebee.scala 66:25] | |
assign osr10_D8 = io_data[8]; // @[littlebee.scala 67:25] | |
assign osr10_D9 = io_data[9]; // @[littlebee.scala 68:25] | |
assign osr10_PCLK = clock; // @[littlebee.scala 69:17] | |
assign osr10_FCLK = io_fclk; // @[littlebee.scala 70:17] | |
assign osr10_RESET = reset; // @[littlebee.scala 71:17] | |
endmodule | |
module GbHdmi( | |
input clock, | |
input reset, | |
input io_gb_vsync, | |
input io_gb_clk, | |
input [1:0] io_gb_data, | |
input io_serClk, | |
output io_tmds_clk_p, | |
output io_tmds_clk_n, | |
output io_tmds_data_0_p, | |
output io_tmds_data_0_n, | |
output io_tmds_data_1_p, | |
output io_tmds_data_1_n, | |
output io_tmds_data_2_p, | |
output io_tmds_data_2_n, | |
input io_pattern_trig | |
); | |
`ifdef RANDOMIZE_GARBAGE_ASSIGN | |
reg [31:0] _RAND_1; | |
`endif // RANDOMIZE_GARBAGE_ASSIGN | |
`ifdef RANDOMIZE_MEM_INIT | |
reg [31:0] _RAND_0; | |
`endif // RANDOMIZE_MEM_INIT | |
`ifdef RANDOMIZE_REG_INIT | |
reg [31:0] _RAND_2; | |
reg [31:0] _RAND_3; | |
reg [31:0] _RAND_4; | |
`endif // RANDOMIZE_REG_INIT | |
wire gbwt_clock; // @[gbhdmi.scala 45:20] | |
wire gbwt_reset; // @[gbhdmi.scala 45:20] | |
wire gbwt_io_gb_vsync; // @[gbhdmi.scala 45:20] | |
wire gbwt_io_gb_clk; // @[gbhdmi.scala 45:20] | |
wire [1:0] gbwt_io_gb_data; // @[gbhdmi.scala 45:20] | |
wire [14:0] gbwt_io_Maddr; // @[gbhdmi.scala 45:20] | |
wire [1:0] gbwt_io_Mdata; // @[gbhdmi.scala 45:20] | |
wire gbwt_io_Mwrite; // @[gbhdmi.scala 45:20] | |
wire mhdmi_clock; // @[gbhdmi.scala 49:21] | |
wire mhdmi_reset; // @[gbhdmi.scala 49:21] | |
wire [14:0] mhdmi_io_mem_addr; // @[gbhdmi.scala 49:21] | |
wire [1:0] mhdmi_io_mem_data; // @[gbhdmi.scala 49:21] | |
wire mhdmi_io_video_hsync; // @[gbhdmi.scala 49:21] | |
wire mhdmi_io_video_vsync; // @[gbhdmi.scala 49:21] | |
wire [7:0] mhdmi_io_video_color_red; // @[gbhdmi.scala 49:21] | |
wire [7:0] mhdmi_io_video_color_green; // @[gbhdmi.scala 49:21] | |
wire [7:0] mhdmi_io_video_color_blue; // @[gbhdmi.scala 49:21] | |
wire mhdmi_io_video_de; // @[gbhdmi.scala 49:21] | |
wire [1:0] mhdmi_io_pattern_num; // @[gbhdmi.scala 49:21] | |
wire rgb2tmds_clock; // @[gbhdmi.scala 82:26] | |
wire rgb2tmds_reset; // @[gbhdmi.scala 82:26] | |
wire [7:0] rgb2tmds_io_videoSig_pixel_red; // @[gbhdmi.scala 82:26] | |
wire [7:0] rgb2tmds_io_videoSig_pixel_green; // @[gbhdmi.scala 82:26] | |
wire [7:0] rgb2tmds_io_videoSig_pixel_blue; // @[gbhdmi.scala 82:26] | |
wire rgb2tmds_io_videoSig_de; // @[gbhdmi.scala 82:26] | |
wire rgb2tmds_io_videoSig_hsync; // @[gbhdmi.scala 82:26] | |
wire rgb2tmds_io_videoSig_vsync; // @[gbhdmi.scala 82:26] | |
wire [9:0] rgb2tmds_io_tmds_blue; // @[gbhdmi.scala 82:26] | |
wire [9:0] rgb2tmds_io_tmds_red; // @[gbhdmi.scala 82:26] | |
wire [9:0] rgb2tmds_io_tmds_green; // @[gbhdmi.scala 82:26] | |
wire serdesRed_clock; // @[gbhdmi.scala 92:27] | |
wire serdesRed_reset; // @[gbhdmi.scala 92:27] | |
wire serdesRed_io_q; // @[gbhdmi.scala 92:27] | |
wire [9:0] serdesRed_io_data; // @[gbhdmi.scala 92:27] | |
wire serdesRed_io_fclk; // @[gbhdmi.scala 92:27] | |
wire buffDiffRed_O; // @[gbhdmi.scala 95:29] | |
wire buffDiffRed_OB; // @[gbhdmi.scala 95:29] | |
wire buffDiffRed_I; // @[gbhdmi.scala 95:29] | |
wire serdesGreen_clock; // @[gbhdmi.scala 101:29] | |
wire serdesGreen_reset; // @[gbhdmi.scala 101:29] | |
wire serdesGreen_io_q; // @[gbhdmi.scala 101:29] | |
wire [9:0] serdesGreen_io_data; // @[gbhdmi.scala 101:29] | |
wire serdesGreen_io_fclk; // @[gbhdmi.scala 101:29] | |
wire buffDiffGreen_O; // @[gbhdmi.scala 104:31] | |
wire buffDiffGreen_OB; // @[gbhdmi.scala 104:31] | |
wire buffDiffGreen_I; // @[gbhdmi.scala 104:31] | |
wire serdesBlue_clock; // @[gbhdmi.scala 110:28] | |
wire serdesBlue_reset; // @[gbhdmi.scala 110:28] | |
wire serdesBlue_io_q; // @[gbhdmi.scala 110:28] | |
wire [9:0] serdesBlue_io_data; // @[gbhdmi.scala 110:28] | |
wire serdesBlue_io_fclk; // @[gbhdmi.scala 110:28] | |
wire buffDiffBlue_O; // @[gbhdmi.scala 113:30] | |
wire buffDiffBlue_OB; // @[gbhdmi.scala 113:30] | |
wire buffDiffBlue_I; // @[gbhdmi.scala 113:30] | |
wire serdesClk_clock; // @[gbhdmi.scala 119:27] | |
wire serdesClk_reset; // @[gbhdmi.scala 119:27] | |
wire serdesClk_io_q; // @[gbhdmi.scala 119:27] | |
wire [9:0] serdesClk_io_data; // @[gbhdmi.scala 119:27] | |
wire serdesClk_io_fclk; // @[gbhdmi.scala 119:27] | |
wire buffDiffClk_O; // @[gbhdmi.scala 122:29] | |
wire buffDiffClk_OB; // @[gbhdmi.scala 122:29] | |
wire buffDiffClk_I; // @[gbhdmi.scala 122:29] | |
reg [1:0] mem [0:23039]; // @[gbhdmi.scala 129:16] | |
wire mem_mhdmi_io_mem_data_MPORT_en; // @[gbhdmi.scala 129:16] | |
wire [14:0] mem_mhdmi_io_mem_data_MPORT_addr; // @[gbhdmi.scala 129:16] | |
wire [1:0] mem_mhdmi_io_mem_data_MPORT_data; // @[gbhdmi.scala 129:16] | |
wire [1:0] mem_MPORT_data; // @[gbhdmi.scala 129:16] | |
wire [14:0] mem_MPORT_addr; // @[gbhdmi.scala 129:16] | |
wire mem_MPORT_mask; // @[gbhdmi.scala 129:16] | |
wire mem_MPORT_en; // @[gbhdmi.scala 129:16] | |
reg [1:0] patternNum; // @[gbhdmi.scala 52:27] | |
reg REG; // @[gbhdmi.scala 53:16] | |
wire [1:0] _patternNum_T_1 = patternNum + 2'h1; // @[gbhdmi.scala 54:30] | |
reg [1:0] mhdmi_io_mem_data_REG; // @[gbhdmi.scala 135:33] | |
GbWrite gbwt ( // @[gbhdmi.scala 45:20] | |
.clock(gbwt_clock), | |
.reset(gbwt_reset), | |
.io_gb_vsync(gbwt_io_gb_vsync), | |
.io_gb_clk(gbwt_io_gb_clk), | |
.io_gb_data(gbwt_io_gb_data), | |
.io_Maddr(gbwt_io_Maddr), | |
.io_Mdata(gbwt_io_Mdata), | |
.io_Mwrite(gbwt_io_Mwrite) | |
); | |
MemHdmi mhdmi ( // @[gbhdmi.scala 49:21] | |
.clock(mhdmi_clock), | |
.reset(mhdmi_reset), | |
.io_mem_addr(mhdmi_io_mem_addr), | |
.io_mem_data(mhdmi_io_mem_data), | |
.io_video_hsync(mhdmi_io_video_hsync), | |
.io_video_vsync(mhdmi_io_video_vsync), | |
.io_video_color_red(mhdmi_io_video_color_red), | |
.io_video_color_green(mhdmi_io_video_color_green), | |
.io_video_color_blue(mhdmi_io_video_color_blue), | |
.io_video_de(mhdmi_io_video_de), | |
.io_pattern_num(mhdmi_io_pattern_num) | |
); | |
Rgb2Tmds rgb2tmds ( // @[gbhdmi.scala 82:26] | |
.clock(rgb2tmds_clock), | |
.reset(rgb2tmds_reset), | |
.io_videoSig_pixel_red(rgb2tmds_io_videoSig_pixel_red), | |
.io_videoSig_pixel_green(rgb2tmds_io_videoSig_pixel_green), | |
.io_videoSig_pixel_blue(rgb2tmds_io_videoSig_pixel_blue), | |
.io_videoSig_de(rgb2tmds_io_videoSig_de), | |
.io_videoSig_hsync(rgb2tmds_io_videoSig_hsync), | |
.io_videoSig_vsync(rgb2tmds_io_videoSig_vsync), | |
.io_tmds_blue(rgb2tmds_io_tmds_blue), | |
.io_tmds_red(rgb2tmds_io_tmds_red), | |
.io_tmds_green(rgb2tmds_io_tmds_green) | |
); | |
Oser10Module serdesRed ( // @[gbhdmi.scala 92:27] | |
.clock(serdesRed_clock), | |
.reset(serdesRed_reset), | |
.io_q(serdesRed_io_q), | |
.io_data(serdesRed_io_data), | |
.io_fclk(serdesRed_io_fclk) | |
); | |
TLVDS_OBUF buffDiffRed ( // @[gbhdmi.scala 95:29] | |
.O(buffDiffRed_O), | |
.OB(buffDiffRed_OB), | |
.I(buffDiffRed_I) | |
); | |
Oser10Module serdesGreen ( // @[gbhdmi.scala 101:29] | |
.clock(serdesGreen_clock), | |
.reset(serdesGreen_reset), | |
.io_q(serdesGreen_io_q), | |
.io_data(serdesGreen_io_data), | |
.io_fclk(serdesGreen_io_fclk) | |
); | |
TLVDS_OBUF buffDiffGreen ( // @[gbhdmi.scala 104:31] | |
.O(buffDiffGreen_O), | |
.OB(buffDiffGreen_OB), | |
.I(buffDiffGreen_I) | |
); | |
Oser10Module serdesBlue ( // @[gbhdmi.scala 110:28] | |
.clock(serdesBlue_clock), | |
.reset(serdesBlue_reset), | |
.io_q(serdesBlue_io_q), | |
.io_data(serdesBlue_io_data), | |
.io_fclk(serdesBlue_io_fclk) | |
); | |
TLVDS_OBUF buffDiffBlue ( // @[gbhdmi.scala 113:30] | |
.O(buffDiffBlue_O), | |
.OB(buffDiffBlue_OB), | |
.I(buffDiffBlue_I) | |
); | |
Oser10Module serdesClk ( // @[gbhdmi.scala 119:27] | |
.clock(serdesClk_clock), | |
.reset(serdesClk_reset), | |
.io_q(serdesClk_io_q), | |
.io_data(serdesClk_io_data), | |
.io_fclk(serdesClk_io_fclk) | |
); | |
TLVDS_OBUF buffDiffClk ( // @[gbhdmi.scala 122:29] | |
.O(buffDiffClk_O), | |
.OB(buffDiffClk_OB), | |
.I(buffDiffClk_I) | |
); | |
assign mem_mhdmi_io_mem_data_MPORT_en = 1'h1; | |
assign mem_mhdmi_io_mem_data_MPORT_addr = mhdmi_io_mem_addr; | |
`ifndef RANDOMIZE_GARBAGE_ASSIGN | |
assign mem_mhdmi_io_mem_data_MPORT_data = mem[mem_mhdmi_io_mem_data_MPORT_addr]; // @[gbhdmi.scala 129:16] | |
`else | |
assign mem_mhdmi_io_mem_data_MPORT_data = mem_mhdmi_io_mem_data_MPORT_addr >= 15'h5a00 ? _RAND_1[1:0] : | |
mem[mem_mhdmi_io_mem_data_MPORT_addr]; // @[gbhdmi.scala 129:16] | |
`endif // RANDOMIZE_GARBAGE_ASSIGN | |
assign mem_MPORT_data = gbwt_io_Mdata; | |
assign mem_MPORT_addr = gbwt_io_Maddr; | |
assign mem_MPORT_mask = 1'h1; | |
assign mem_MPORT_en = gbwt_io_Mwrite; | |
assign io_tmds_clk_p = buffDiffClk_O; // @[gbhdmi.scala 124:19] | |
assign io_tmds_clk_n = buffDiffClk_OB; // @[gbhdmi.scala 125:19] | |
assign io_tmds_data_0_p = buffDiffBlue_O; // @[gbhdmi.scala 115:23] | |
assign io_tmds_data_0_n = buffDiffBlue_OB; // @[gbhdmi.scala 116:23] | |
assign io_tmds_data_1_p = buffDiffGreen_O; // @[gbhdmi.scala 106:23] | |
assign io_tmds_data_1_n = buffDiffGreen_OB; // @[gbhdmi.scala 107:23] | |
assign io_tmds_data_2_p = buffDiffRed_O; // @[gbhdmi.scala 97:23] | |
assign io_tmds_data_2_n = buffDiffRed_OB; // @[gbhdmi.scala 98:23] | |
assign gbwt_clock = clock; | |
assign gbwt_reset = reset; | |
assign gbwt_io_gb_vsync = io_gb_vsync; // @[gbhdmi.scala 46:14] | |
assign gbwt_io_gb_clk = io_gb_clk; // @[gbhdmi.scala 46:14] | |
assign gbwt_io_gb_data = io_gb_data; // @[gbhdmi.scala 46:14] | |
assign mhdmi_clock = clock; | |
assign mhdmi_reset = reset; | |
assign mhdmi_io_mem_data = mhdmi_io_mem_data_REG; // @[gbhdmi.scala 134:27 135:23 138:23] | |
assign mhdmi_io_pattern_num = patternNum; // @[gbhdmi.scala 56:24] | |
assign rgb2tmds_clock = clock; | |
assign rgb2tmds_reset = reset; | |
assign rgb2tmds_io_videoSig_pixel_red = mhdmi_io_video_color_red; // @[gbhdmi.scala 86:38] | |
assign rgb2tmds_io_videoSig_pixel_green = mhdmi_io_video_color_green; // @[gbhdmi.scala 87:38] | |
assign rgb2tmds_io_videoSig_pixel_blue = mhdmi_io_video_color_blue; // @[gbhdmi.scala 88:38] | |
assign rgb2tmds_io_videoSig_de = mhdmi_io_video_de; // @[gbhdmi.scala 83:29] | |
assign rgb2tmds_io_videoSig_hsync = mhdmi_io_video_hsync; // @[gbhdmi.scala 84:32] | |
assign rgb2tmds_io_videoSig_vsync = mhdmi_io_video_vsync; // @[gbhdmi.scala 85:32] | |
assign serdesRed_clock = clock; | |
assign serdesRed_reset = reset; | |
assign serdesRed_io_data = rgb2tmds_io_tmds_red; // @[gbhdmi.scala 93:23] | |
assign serdesRed_io_fclk = io_serClk; // @[gbhdmi.scala 94:23] | |
assign buffDiffRed_I = serdesRed_io_q; // @[gbhdmi.scala 96:22] | |
assign serdesGreen_clock = clock; | |
assign serdesGreen_reset = reset; | |
assign serdesGreen_io_data = rgb2tmds_io_tmds_green; // @[gbhdmi.scala 102:25] | |
assign serdesGreen_io_fclk = io_serClk; // @[gbhdmi.scala 103:25] | |
assign buffDiffGreen_I = serdesGreen_io_q; // @[gbhdmi.scala 105:24] | |
assign serdesBlue_clock = clock; | |
assign serdesBlue_reset = reset; | |
assign serdesBlue_io_data = rgb2tmds_io_tmds_blue; // @[gbhdmi.scala 111:24] | |
assign serdesBlue_io_fclk = io_serClk; // @[gbhdmi.scala 112:24] | |
assign buffDiffBlue_I = serdesBlue_io_q; // @[gbhdmi.scala 114:23] | |
assign serdesClk_clock = clock; | |
assign serdesClk_reset = reset; | |
assign serdesClk_io_data = 10'h3e0; // @[gbhdmi.scala 120:23] | |
assign serdesClk_io_fclk = io_serClk; // @[gbhdmi.scala 121:23] | |
assign buffDiffClk_I = serdesClk_io_q; // @[gbhdmi.scala 123:22] | |
always @(posedge clock) begin | |
if (mem_MPORT_en & mem_MPORT_mask) begin | |
mem[mem_MPORT_addr] <= mem_MPORT_data; // @[gbhdmi.scala 129:16] | |
end | |
if (reset) begin // @[gbhdmi.scala 52:27] | |
patternNum <= 2'h0; // @[gbhdmi.scala 52:27] | |
end else if (~REG & io_pattern_trig) begin // @[gbhdmi.scala 53:52] | |
patternNum <= _patternNum_T_1; // @[gbhdmi.scala 54:16] | |
end | |
REG <= io_pattern_trig; // @[gbhdmi.scala 53:16] | |
mhdmi_io_mem_data_REG <= mem_mhdmi_io_mem_data_MPORT_data; // @[gbhdmi.scala 135:33] | |
end | |
// Register and memory initialization | |
`ifdef RANDOMIZE_GARBAGE_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_INVALID_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
`define RANDOMIZE | |
`endif | |
`ifndef RANDOM | |
`define RANDOM $random | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
integer initvar; | |
`endif | |
`ifndef SYNTHESIS | |
`ifdef FIRRTL_BEFORE_INITIAL | |
`FIRRTL_BEFORE_INITIAL | |
`endif | |
initial begin | |
`ifdef RANDOMIZE | |
`ifdef INIT_RANDOM | |
`INIT_RANDOM | |
`endif | |
`ifndef VERILATOR | |
`ifdef RANDOMIZE_DELAY | |
#`RANDOMIZE_DELAY begin end | |
`else | |
#0.002 begin end | |
`endif | |
`endif | |
`ifdef RANDOMIZE_GARBAGE_ASSIGN | |
_RAND_1 = {1{`RANDOM}}; | |
`endif // RANDOMIZE_GARBAGE_ASSIGN | |
`ifdef RANDOMIZE_MEM_INIT | |
_RAND_0 = {1{`RANDOM}}; | |
for (initvar = 0; initvar < 23040; initvar = initvar+1) | |
mem[initvar] = _RAND_0[1:0]; | |
`endif // RANDOMIZE_MEM_INIT | |
`ifdef RANDOMIZE_REG_INIT | |
_RAND_2 = {1{`RANDOM}}; | |
patternNum = _RAND_2[1:0]; | |
_RAND_3 = {1{`RANDOM}}; | |
REG = _RAND_3[0:0]; | |
_RAND_4 = {1{`RANDOM}}; | |
mhdmi_io_mem_data_REG = _RAND_4[1:0]; | |
`endif // RANDOMIZE_REG_INIT | |
`endif // RANDOMIZE | |
end // initial | |
`ifdef FIRRTL_AFTER_INITIAL | |
`FIRRTL_AFTER_INITIAL | |
`endif | |
`endif // SYNTHESIS | |
endmodule | |
module TopGbHdmi( | |
input I_clk, | |
input I_reset_n, | |
output [1:0] O_led, | |
input gb_hsync, | |
input gb_vsync, | |
input gb_clk, | |
input [1:0] gb_data, | |
output O_tmds_clk_p, | |
output O_tmds_clk_n, | |
output O_tmds_data_0_p, | |
output O_tmds_data_0_n, | |
output O_tmds_data_1_p, | |
output O_tmds_data_1_n, | |
output O_tmds_data_2_p, | |
output O_tmds_data_2_n, | |
output snes_dclock, | |
output snes_dlatch, | |
input snes_sdata, | |
output gbpad_a, | |
output gbpad_b, | |
output gbpad_select, | |
output gbpad_start, | |
output gbpad_right, | |
output gbpad_left, | |
output gbpad_up, | |
output gbpad_down | |
); | |
`ifdef RANDOMIZE_REG_INIT | |
reg [31:0] _RAND_0; | |
reg [31:0] _RAND_1; | |
reg [31:0] _RAND_2; | |
reg [31:0] _RAND_3; | |
reg [31:0] _RAND_4; | |
reg [31:0] _RAND_5; | |
reg [31:0] _RAND_6; | |
`endif // RANDOMIZE_REG_INIT | |
wire clkDiv_RESETN; // @[topgbhdmi.scala 58:24] | |
wire clkDiv_HCLKIN; // @[topgbhdmi.scala 58:24] | |
wire clkDiv_CLKOUT; // @[topgbhdmi.scala 58:24] | |
wire clkDiv_CALIB; // @[topgbhdmi.scala 58:24] | |
wire tmdsPllvr_clkin; // @[topgbhdmi.scala 65:27] | |
wire tmdsPllvr_clkout; // @[topgbhdmi.scala 65:27] | |
wire tmdsPllvr_clkoutd; // @[topgbhdmi.scala 65:27] | |
wire tmdsPllvr_lock; // @[topgbhdmi.scala 65:27] | |
wire cnpd_clock; // @[topgbhdmi.scala 73:24] | |
wire cnpd_reset; // @[topgbhdmi.scala 73:24] | |
wire cnpd_io_dclock; // @[topgbhdmi.scala 73:24] | |
wire cnpd_io_dlatch; // @[topgbhdmi.scala 73:24] | |
wire cnpd_io_sdata; // @[topgbhdmi.scala 73:24] | |
wire cnpd_io_data_valid; // @[topgbhdmi.scala 73:24] | |
wire [15:0] cnpd_io_data_bits; // @[topgbhdmi.scala 73:24] | |
wire gbHdmi_clock; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_reset; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_gb_vsync; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_gb_clk; // @[topgbhdmi.scala 105:26] | |
wire [1:0] gbHdmi_io_gb_data; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_serClk; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_tmds_clk_p; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_tmds_clk_n; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_tmds_data_0_p; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_tmds_data_0_n; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_tmds_data_1_p; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_tmds_data_1_n; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_tmds_data_2_p; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_tmds_data_2_n; // @[topgbhdmi.scala 105:26] | |
wire gbHdmi_io_pattern_trig; // @[topgbhdmi.scala 105:26] | |
wire pll_lock = tmdsPllvr_lock; // @[topgbhdmi.scala 51:25 68:14] | |
wire glb_rst = ~(pll_lock & I_reset_n); // @[topgbhdmi.scala 55:19] | |
wire pix_clk = clkDiv_CLKOUT; // @[topgbhdmi.scala 53:23 61:13] | |
reg [15:0] sNesPadReg; // @[topgbhdmi.scala 74:31] | |
wire [15:0] _sNesPadReg_T = ~cnpd_io_data_bits; // @[topgbhdmi.scala 82:23] | |
reg svsync_r; // @[Reg.scala 16:16] | |
reg svsync; // @[Reg.scala 16:16] | |
reg sclk_r; // @[Reg.scala 16:16] | |
reg sclk; // @[Reg.scala 16:16] | |
reg [1:0] sdata_r; // @[Reg.scala 16:16] | |
reg [1:0] sdata; // @[Reg.scala 16:16] | |
CLKDIV #(.DIV_MODE("5")) clkDiv ( // @[topgbhdmi.scala 58:24] | |
.RESETN(clkDiv_RESETN), | |
.HCLKIN(clkDiv_HCLKIN), | |
.CLKOUT(clkDiv_CLKOUT), | |
.CALIB(clkDiv_CALIB) | |
); | |
TMDS_PLLVR tmdsPllvr ( // @[topgbhdmi.scala 65:27] | |
.clkin(tmdsPllvr_clkin), | |
.clkout(tmdsPllvr_clkout), | |
.clkoutd(tmdsPllvr_clkoutd), | |
.lock(tmdsPllvr_lock) | |
); | |
ChisNesPad cnpd ( // @[topgbhdmi.scala 73:24] | |
.clock(cnpd_clock), | |
.reset(cnpd_reset), | |
.io_dclock(cnpd_io_dclock), | |
.io_dlatch(cnpd_io_dlatch), | |
.io_sdata(cnpd_io_sdata), | |
.io_data_valid(cnpd_io_data_valid), | |
.io_data_bits(cnpd_io_data_bits) | |
); | |
GbHdmi gbHdmi ( // @[topgbhdmi.scala 105:26] | |
.clock(gbHdmi_clock), | |
.reset(gbHdmi_reset), | |
.io_gb_vsync(gbHdmi_io_gb_vsync), | |
.io_gb_clk(gbHdmi_io_gb_clk), | |
.io_gb_data(gbHdmi_io_gb_data), | |
.io_serClk(gbHdmi_io_serClk), | |
.io_tmds_clk_p(gbHdmi_io_tmds_clk_p), | |
.io_tmds_clk_n(gbHdmi_io_tmds_clk_n), | |
.io_tmds_data_0_p(gbHdmi_io_tmds_data_0_p), | |
.io_tmds_data_0_n(gbHdmi_io_tmds_data_0_n), | |
.io_tmds_data_1_p(gbHdmi_io_tmds_data_1_p), | |
.io_tmds_data_1_n(gbHdmi_io_tmds_data_1_n), | |
.io_tmds_data_2_p(gbHdmi_io_tmds_data_2_p), | |
.io_tmds_data_2_n(gbHdmi_io_tmds_data_2_n), | |
.io_pattern_trig(gbHdmi_io_pattern_trig) | |
); | |
assign O_led = {sNesPadReg[11],sNesPadReg[10]}; // @[topgbhdmi.scala 96:31] | |
assign O_tmds_clk_p = gbHdmi_io_tmds_clk_p; // @[topgbhdmi.scala 116:20] | |
assign O_tmds_clk_n = gbHdmi_io_tmds_clk_n; // @[topgbhdmi.scala 117:21] | |
assign O_tmds_data_0_p = gbHdmi_io_tmds_data_0_p; // @[topgbhdmi.scala 118:24] | |
assign O_tmds_data_0_n = gbHdmi_io_tmds_data_0_n; // @[topgbhdmi.scala 119:24] | |
assign O_tmds_data_1_p = gbHdmi_io_tmds_data_1_p; // @[topgbhdmi.scala 120:24] | |
assign O_tmds_data_1_n = gbHdmi_io_tmds_data_1_n; // @[topgbhdmi.scala 121:24] | |
assign O_tmds_data_2_p = gbHdmi_io_tmds_data_2_p; // @[topgbhdmi.scala 122:24] | |
assign O_tmds_data_2_n = gbHdmi_io_tmds_data_2_n; // @[topgbhdmi.scala 123:24] | |
assign snes_dclock = cnpd_io_dclock; // @[topgbhdmi.scala 76:19] | |
assign snes_dlatch = cnpd_io_dlatch; // @[topgbhdmi.scala 77:19] | |
assign gbpad_a = sNesPadReg[7]; // @[topgbhdmi.scala 92:33] | |
assign gbpad_b = sNesPadReg[15]; // @[topgbhdmi.scala 84:33] | |
assign gbpad_select = sNesPadReg[13]; // @[topgbhdmi.scala 86:33] | |
assign gbpad_start = sNesPadReg[12]; // @[topgbhdmi.scala 87:33] | |
assign gbpad_right = sNesPadReg[8]; // @[topgbhdmi.scala 91:33] | |
assign gbpad_left = sNesPadReg[9]; // @[topgbhdmi.scala 90:33] | |
assign gbpad_up = sNesPadReg[11]; // @[topgbhdmi.scala 88:33] | |
assign gbpad_down = sNesPadReg[10]; // @[topgbhdmi.scala 89:33] | |
assign clkDiv_RESETN = ~glb_rst; // @[topgbhdmi.scala 59:25] | |
assign clkDiv_HCLKIN = tmdsPllvr_clkout; // @[topgbhdmi.scala 52:26 67:16] | |
assign clkDiv_CALIB = 1'h1; // @[topgbhdmi.scala 62:21] | |
assign tmdsPllvr_clkin = I_clk; // @[topgbhdmi.scala 66:24] | |
assign cnpd_clock = clkDiv_CLKOUT; // @[topgbhdmi.scala 53:23 61:13] | |
assign cnpd_reset = ~(pll_lock & I_reset_n); // @[topgbhdmi.scala 55:19] | |
assign cnpd_io_sdata = snes_sdata; // @[topgbhdmi.scala 78:21] | |
assign gbHdmi_clock = clkDiv_CLKOUT; // @[topgbhdmi.scala 53:23 61:13] | |
assign gbHdmi_reset = ~(pll_lock & I_reset_n); // @[topgbhdmi.scala 55:19] | |
assign gbHdmi_io_gb_vsync = svsync; // @[topgbhdmi.scala 110:26] | |
assign gbHdmi_io_gb_clk = sclk; // @[topgbhdmi.scala 111:26] | |
assign gbHdmi_io_gb_data = sdata; // @[topgbhdmi.scala 112:26] | |
assign gbHdmi_io_serClk = tmdsPllvr_clkout; // @[topgbhdmi.scala 52:26 67:16] | |
assign gbHdmi_io_pattern_trig = sNesPadReg[4] | sNesPadReg[5]; // @[topgbhdmi.scala 107:47] | |
always @(posedge pix_clk) begin | |
if (glb_rst) begin // @[topgbhdmi.scala 74:31] | |
sNesPadReg <= 16'h0; // @[topgbhdmi.scala 74:31] | |
end else if (cnpd_io_data_valid) begin // @[topgbhdmi.scala 81:31] | |
sNesPadReg <= _sNesPadReg_T; // @[topgbhdmi.scala 82:20] | |
end | |
svsync_r <= gb_vsync; // @[Reg.scala 16:16 17:{18,22}] | |
svsync <= svsync_r; // @[Reg.scala 16:16 17:{18,22}] | |
sclk_r <= gb_clk; // @[Reg.scala 16:16 17:{18,22}] | |
sclk <= sclk_r; // @[Reg.scala 16:16 17:{18,22}] | |
sdata_r <= gb_data; // @[Reg.scala 16:16 17:{18,22}] | |
sdata <= sdata_r; // @[Reg.scala 16:16 17:{18,22}] | |
end | |
// Register and memory initialization | |
`ifdef RANDOMIZE_GARBAGE_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_INVALID_ASSIGN | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
`define RANDOMIZE | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
`define RANDOMIZE | |
`endif | |
`ifndef RANDOM | |
`define RANDOM $random | |
`endif | |
`ifdef RANDOMIZE_MEM_INIT | |
integer initvar; | |
`endif | |
`ifndef SYNTHESIS | |
`ifdef FIRRTL_BEFORE_INITIAL | |
`FIRRTL_BEFORE_INITIAL | |
`endif | |
initial begin | |
`ifdef RANDOMIZE | |
`ifdef INIT_RANDOM | |
`INIT_RANDOM | |
`endif | |
`ifndef VERILATOR | |
`ifdef RANDOMIZE_DELAY | |
#`RANDOMIZE_DELAY begin end | |
`else | |
#0.002 begin end | |
`endif | |
`endif | |
`ifdef RANDOMIZE_REG_INIT | |
_RAND_0 = {1{`RANDOM}}; | |
sNesPadReg = _RAND_0[15:0]; | |
_RAND_1 = {1{`RANDOM}}; | |
svsync_r = _RAND_1[0:0]; | |
_RAND_2 = {1{`RANDOM}}; | |
svsync = _RAND_2[0:0]; | |
_RAND_3 = {1{`RANDOM}}; | |
sclk_r = _RAND_3[0:0]; | |
_RAND_4 = {1{`RANDOM}}; | |
sclk = _RAND_4[0:0]; | |
_RAND_5 = {1{`RANDOM}}; | |
sdata_r = _RAND_5[1:0]; | |
_RAND_6 = {1{`RANDOM}}; | |
sdata = _RAND_6[1:0]; | |
`endif // RANDOMIZE_REG_INIT | |
`endif // RANDOMIZE | |
end // initial | |
`ifdef FIRRTL_AFTER_INITIAL | |
`FIRRTL_AFTER_INITIAL | |
`endif | |
`endif // SYNTHESIS | |
endmodule |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment