2009-04-16 9 views
11

पर यादृच्छिक संख्या पीढ़ी मुझे स्पार्टन -3 ई एफपीजीए पर अपने अनुवांशिक एल्गोरिदम के लिए छद्म-यादृच्छिक संख्याएं उत्पन्न करने की आवश्यकता है और मैं इसे verilog में कार्यान्वित करना चाहता हूं: क्या आप मुझे इस पर कोई संकेत दे सकते हैं?स्पार्टन -3 ई

उत्तर

2

आमतौर पर आप IEEE.math_real वर्दी समारोह

use IEEE.math_real.all; 
procedure UNIFORM (variable Seed1,Seed2:inout integer; variable X:out real); 

का उपयोग लेकिन एक छोटा सा छद्म यादृच्छिक संख्या जनरेटर (PRNGs) पर एक शोध करना चाहते हैं और आप कई भिन्न रूप इतना आसान LFSR के हैं मिल जाएगा - जो सीआरसी जनरेटर के समान उल्लेखनीय रूप से देखो।

http://www.easics.be/webtools/crctool

:

http://www.opencores.org/?do=project&who=systemc_rng

http://verificationguild.com/modules.php?name=Downloads&d_op=viewdownload&cid=3

यहाँ एक सीआरसी VHDL कोड जनरेटर है: यदि आप मौजूदा, काम PRNGs से अपने खुद के प्रारंभिक रोल करना चाहते हैं

यहाँ कई संसाधन हैं

+1

ओपी verilog चाहता था - लेकिन एलएफएसआर देखने के लिए आपका सुझाव ध्वनि है। सिर्फ अपनी रुचि के लिए, क्या यूनिफ़ॉर्म प्रक्रिया संश्लेषित है? यह क्या संश्लेषित करता है? – Marty

16

बेशक एडम द्वारा यादृच्छिक जनरेटर संश्लेषित नहीं है! आपको स्पष्ट रूप से LFSR बनाना होगा।

निम्नलिखित उदाहरण मदद कर सकता है। यह एक 8 बिट अधिक से अधिक LFSR

module lfsr(input clk, reset, en, output reg [7:0] q); 
    always @(posedge clk or posedge reset) begin 
    if (reset) 
     q <= 8'd1; // can be anything except zero 
    else if (en) 
     q <= {q[6:0], q[7]^q[5]^q[4]^q[3]}; // polynomial for maximal LFSR 
    end 
endmodule; 
2

ऊपर सूचक को OpenCores बुलाया Verilog फ़ोल्डर में एक फ़ाइल है: rng.v

मैं एक स्पार्टन की 3AN इसका उपयोग किया है और यह बहुत अच्छा काम करता है। मेरे कोड ने प्रोग्राम को प्रोग्राम किए जाने के बाद यादृच्छिक संख्या जनरेटर का उपयोग करने के लिए यादृच्छिक संख्या जेनरेटर का उपयोग किया और इसमें सभी चुनिंदा पीडब्लूएम शामिल थे।

2

एक ऑनलाइन उपकरण है जो एक छद्म-यादृच्छिक संख्या जेनरेटर के लिए वेरिलोग या वीएचडीएल कोड उत्पन्न कर सकता है। यह OutputLogic.com

2

पर मैं एलएफएसआर से सहमत हूं। मैंने पहले एक बना दिया है और इसका उपयोग एन्क्रिप्शन के लिए किया जाता है।

+2

मुझे लगता है कि यह ध्यान रखना महत्वपूर्ण है कि एलएफएसआर छद्म यादृच्छिक संख्या पीढ़ी के लिए उपयोगी हैं, लेकिन वे वास्तविक एन्क्रिप्शन योजनाओं में उपयोग के लिए अनुचित हैं। – wjl

9

आप पहले से ही कुछ अच्छी जवाब मिल गया है, लेकिन मैं सिर्फ FPGAs में LFSRs के लिए विहित गाइड आपको बताएंगे यहाँ है:

http://www.xilinx.com/support/documentation/application_notes/xapp052.pdf

यह स्थानों में एक सा Xilinx विशिष्ट (जो ठीक है आपके एफपीजीए के लिए :) लेकिन सिद्धांत दूसरों के लिए हस्तांतरणीय हैं।

संबंधित मुद्दे