Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to implement a random generator on FPGA?

Status
Not open for further replies.

Tom2

Full Member level 5
Joined
Nov 11, 2006
Messages
318
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,298
Activity points
3,457
Is anyone who know how to implement a random generator on fpga?????
 

Re: random test pattern

what type of pattern u want to generate?
 

random test pattern

if u want to generate random number, u can generate through shift register and ex-or gate
 

random test pattern

thts wat is called an LFSR...so u can use an LFSR...c it depends on ur appln n ur test strategy wat sort of test pattern u want
 

Re: random test pattern

Tom2 said:
Is anyone who know how to implement a random generator on fpga?????

Take!
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;


entity random is
port (
clk : in std_logic;
rst : in std_logic;
randomo : out std_logic_vector (7 downto 0)
);
end ;


architecture behave of random is

signal sequence_reg : std_logic_vector (15 downto 1) ;
signal xored_data : std_logic_vector (8 downto 1) ;

begin

xored_data <= sequence_reg(14 downto 7) xor sequence_reg(15 downto 8);
randomo <= xored_data ;


-------------------------------------------------------------------------------------------
randomizer : process (clk, rst)
-------------------------------------------------------------------------------------------
begin
if rst = '1' then
sequence_reg <= "000000010101001" ;
elsif (clk'event and clk = '1') then
sequence_reg(8 downto 1) <= xored_data;
sequence_reg(15 downto 9) <= sequence_reg(7 downto 1);
end if;
end process;
-------------------------------------------------------------------------------------------


I am using this VHDL code in my testbench to generatate Random Vector.

end behave;
 

Re: random test pattern

assign feedback = ~^{x[7],x[5],x[4],x[3]};

always @(posedge clk) begin
if (reset) x <= 0;
else x <= {x[6:0], feedback};

x is the output 8 bit which generates different values each time
 

random test pattern

u can write code in verilog n download it in fpga...
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top