pagbabasa ng isang file sa testbench (verilog)

P

param

Guest
hi lahat, kung paano magtalaga ng mga data input na nakasulat sa isang file sa port, na para sa testbench layunin gamit verilog hdl? ipagpalagay na mayroon i ang ilang mga halimbawa ng mga data ng input na nakasulat sa. dat file, at sa aking testbench gusto i sa input ang lahat ng mga halaga na nakasulat sa file na iyon, kung paano ko ito? i Sinubukan sa ibaba ang paraan at hindi mahanap ang anumang data na nakatalaga sa pin input habang simulating, data_in = $ fopen (''input.dat "," r "); mangyaring ng tulong upang malutas ang ....... ..
 
$ Fopen ay bukas lamang ang file. Upang gawin ang anumang file na operasyon sa verilog na ito ay gawin unang. para sa pagbabasa mula sa file subukan $ memreadb (para sa mga binary file) o $ memreadh (para sa mga hex file). hal:
Code:
 reg [07:00] mem [1027:0]; ...... unang magsimula ng $ readmemb ("FILE_NAME", mem); end
U ay mayroon ding $ fscanf, $ fgetc, $ fread na basahin ng mga file. Hindi sigurado abt ang eksaktong syntax para sa kanilang paggamit, ngunit dapat ay katulad ng sa itaas isa.
 
Narito ang halimbawa sa ur hinahanap ..... Sana ito ay makakatulong
Code:
 module stim_gen (/ / Outputs clk, data); output clk; output [07:00] data; reg clk; reg [07:00] data; integer fd; integer code, dummy; reg [8 * 10:01] STR; unang simulan fd = $ fopen ("_input.dat", "r"); clk = 0; data = 0; code = 1; $ monitor ("data =% x", data); habang (code) simulan code = $ fgets (STR, fd); dummy = $ sscanf (STR, "% x", data); @ (posedge clk); end $ tapusin; end / / unang simulan ang laging # 5 clk = ~ clk; endmodule / / stim_gen
Nilalaman ng _input.dat file
Code:
 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
 
Para sa Iyong Impormasyon, Kung nais mong i-proseso ang data binary, ito ay maaaring mapandaya readmemb ay hindi gumagana para sa akin kapag ako ay kailangan upang gawin ito. Sa wakas ay natapos ko up gamit ang: file = $ fopen ("code.vec", "r"); return_value = $ fread (mem, file); kung (return_value = 1!) Error = 1; iba pa ...... ........ "Mem" ay isang walong varible bit. Kapag return_value ay hindi 1, pagkatapos ay basahin ang nabigo at ikaw ay sa dulo ng file. --- Steve
 
salamat para sa mga code ng nand Gates halimbawa .... gayunpaman i sinubukan ito at ibinigay sa akin ng mga error kaya i sinubukan ang paggawa ng mga pagbabago. Una para sa akin ng isang 'laging' nagtrabaho bago ang statement @ (posedge clk). Kahit pagkatapos ng paggawa ng pagbabagong ito mapigil ang pagbibigay sa akin error. Maaari isang tao maaring makatulong sa akin debug?
 
Hi lahat kung ang anumang katawan ipinatupad dwt pagsasaproseso ng imahe gamit verilog maaari u lamang magpadala sa akin ang architecture at disenyo ng fsm (kung posible) o sabihin sa akin kung paano upang simulan ang coding part.please makakatulong sa akin sa na.
 

Welcome to EDABoard.com

Sponsor

Back
Top