Convert VHDL to Verilog entity cpu is port clkcpu stdlogic r

Convert VHDL to Verilog

entity cpu is

port (clk_cpu: std_logic;

rst_cpu: in std_logic;

input_cpu: in std_logic_vector(7 downto 0);

output_cpu: out std_logic_vector(7 downto 0));

end cpu;

architecture structure of cpu is

component ctrl

port (clk_ctrl: in std_logic;

rst_ctrl: in std_logic;

muxsel_ctrl: out std_logic_vector(1 downto 0);

imm_ctrl: out std_logic_vector(7 downto 0);

accwr_ctrl: out std_logic;

rfaddr_ctrl: out std_logic_vector(2 downto 0);

rfwr_ctrl: out std_logic;

alusel_ctrl: out std_logic_vector(2 downto 0);

shiftsel_ctrl: out std_logic_vector(1 downto 0);

outen_ctrl: out std_logic;

zero_ctrl: in std_logic;

positive_ctrl: in std_logic);

end component;

component dp

port(clk_dp: in std_logic;

rst_dp: in std_logic;

muxsel_dp: in std_logic_vector(1 downto 0);

imm_dp: in std_logic_vector(7 downto 0);

input_dp: in std_logic_vector(7 downto 0);

accwr_dp: in std_logic;

rfaddr_dp: in std_logic_vector(2 downto 0);

rfwr_dp: in std_logic;

alusel_dp: in std_logic_vector(2 downto 0);

shiftsel_dp: in std_logic_vector(1 downto 0);

outen_dp: in std_logic;

zero_dp: out std_logic;

positive_dp: out std_logic;

output_dp: out std_logic_vector(7 downto 0));

end component;

signal C_immediate: std_logic_vector(7 downto 0); --SIGNAL D_immediate: std_logic_vector(7 DOWNTO 0);

signal C_accwr,C_rfwr,C_outen,C_zero,C_positive: std_logic;

signal C_muxsel,C_shiftsel: std_logic_vector(1 downto 0);

signal C_rfaddr,C_alusel: std_logic_vector(2 downto 0);

begin

U0: ctrl port map(clk_cpu,rst_cpu,C_muxsel,C_immediate,C_accwr,C_rfaddr,C_rfwr,C_alusel

,C_shiftsel,C_outen,C_zero,C_positive);

U1: dp port map(clk_cpu,rst_cpu,C_muxsel,C_immediate,input_cpu,C_accwr,C_rfaddr,C_rfwr

,C_alusel,C_shiftsel,C_outen,C_zero,C_positive,output_cpu);

end structure;

Convert the VHDL code to Verilog

Solution

module cpu(clk_cpu,rst_cpu,input_cpu,output_cpu);
input clk_cpu;
input rst_cpu;
input [7:0]input_cpu;
output [7:0]output_cpu;
wire [7:0] C_immediate; --SIGNAL D_immediate: std_logic_vector(7 DOWNTO 0);
wire C_accwr,C_rfwr,C_outen,C_zero,C_positive;
wire [1:0] C_muxsel,C_shiftsel;
wire [2:0] C_rfaddr,C_alusel;
begin
ctrl U0(clk_cpu,rst_cpu,C_muxsel,C_immediate,C_accwr,C_rfaddr,C_rfwr,C_alusel,C_shiftsel,C_outen,C_zero,C_positive);
dp U1(clk_cpu,rst_cpu,C_muxsel,C_immediate,input_cpu,C_accwr,C_rfaddr,C_rfwr,C_alusel,C_shiftsel,C_outen,C_zero,C_positive,output_cpu);
      
endmodule

module ctrl(clk_ctrl,rst_ctrl,muxsel_ctrl,imm_ctrl,accwr_ctrl,rfaddr_ctrl,rfwr_ctrl,alusel_ctrl,shiftsel_ctrl,outen_ctrl,zero_ctrl,positive_ctrl);

input clk_ctrl,rst_ctrl,zero_ctrl,positive_ctrl;
output [1:0]muxsel_ctrl,shiftsel_ctrl;
output [2:0]rfaddr_ctrl,alusel_ctrl;
output [7:0]imm_ctrl;


//operation of module ctrl will code here

endmodule;

module dp(clk_dp,rst_dp,muxsel_dp,imm_dp,input_dp,accwr_dp,rfaddr_dp,rfwr_dp,alusel_dp,shiftsel_dp,outen_dp,zero_dp,positive_dp,output_dp);

input clk_dp,rst_dp,accwr_dp,rfwr_dp,outen_dp;
input [1:0]muxsel_dp,shiftsel_dp;
input [2:0]rfaddr_dp,alusel_dp;
input [7:0]imm_dp,input_dp;
output zero_dp;
output [7:0]output_dp;


//operation of module dp will code here


endmodule

Convert VHDL to Verilog entity cpu is port (clk_cpu: std_logic; rst_cpu: in std_logic; input_cpu: in std_logic_vector(7 downto 0); output_cpu: out std_logic_vec
Convert VHDL to Verilog entity cpu is port (clk_cpu: std_logic; rst_cpu: in std_logic; input_cpu: in std_logic_vector(7 downto 0); output_cpu: out std_logic_vec
Convert VHDL to Verilog entity cpu is port (clk_cpu: std_logic; rst_cpu: in std_logic; input_cpu: in std_logic_vector(7 downto 0); output_cpu: out std_logic_vec

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site