aboutsummaryrefslogtreecommitdiffstats
path: root/backends/verilog/verilog_backend.cc
Commit message (Collapse)AuthorAgeFilesLines
...
* Cleanups and fixed in write_verilog regarding reg initClifford Wolf2016-11-161-15/+61
|
* Added hex constant support to write_verilogClifford Wolf2016-11-031-4/+62
|
* Adde "write_verilog -renameprefix -v"Clifford Wolf2016-11-011-5/+23
|
* Bugfix in partial mem write handling in verilog back-endClifford Wolf2016-08-201-42/+26
|
* Added missing support for mem read enable ports to verilog back-endClifford Wolf2016-08-181-6/+14
|
* Fixed upto handling in verilog back-endClifford Wolf2016-08-151-0/+3
|
* Added "write_verilog -defparam"Clifford Wolf2016-07-301-2/+21
|
* Added "write_verilog -nodec -nostr"Clifford Wolf2016-07-301-4/+27
|
* Added "yosys -D" featureClifford Wolf2016-04-211-1/+1
|
* Bugfix in write_verilog for RTLIL processesClifford Wolf2016-03-141-9/+20
|
* Bugfixes in writing of memories as VerilogClifford Wolf2015-09-251-7/+8
|
* Another block of spelling fixesLarry Doolittle2015-08-141-2/+2
| | | | Smaller this time
* Re-created command-reference-manual.tex, copied some doc fixes to online helpClifford Wolf2015-08-141-3/+3
|
* Spell check (by Larry Doolittle)Clifford Wolf2015-08-141-1/+1
|
* Fixed trailing whitespacesClifford Wolf2015-07-021-4/+4
|
* $mem cell in verilog backend : grouped writes by clockluke whittlesey2015-06-081-54/+108
|
* Bug fix in $mem verilog backend + changed tests/bram flow of make test.luke whittlesey2015-06-041-14/+16
|
* Some fixes for $mem in verilog back-endClifford Wolf2015-05-201-19/+23
|
* Merge pull request #63 from wluker/verilog-backend-memClifford Wolf2015-05-111-1/+2
|\ | | | | Fixed bug in $mem cell verilog code generation.
| * Fixed bug in $mem cell verilog code generation.luke whittlesey2015-05-111-11/+12
| |
* | Disabled broken $mem support in verilog backendClifford Wolf2015-05-101-11/+11
|/
* Made changes recommended by Clifford Wolf ...luke whittlesey2015-05-101-22/+11
| | | | | | Removed bit_check_equal(), used RTLIL::SigBit for individual bits, used dict<> instead of std::map, and used RTLIL::SigSpec instead of std::vector.
* Verilog backend for $mem cells should now be able to handle differentluke whittlesey2015-05-081-50/+105
| | | | write-enable bits and RD_TRANSPARENT parameter settings.
* Added support for $mem cells in the verilog backend.luke whittlesey2015-05-071-1/+120
|
* Minor fixes in handling of "init" attributeClifford Wolf2015-04-091-7/+7
|
* Added "init" attribute support to verilog backendClifford Wolf2015-04-041-0/+5
|
* Added Verilog backend $dffsr supportClifford Wolf2015-03-181-1/+51
|
* Fixed "write_verilog -attr2comment" handling of "*/" in stringsClifford Wolf2015-02-131-2/+4
|
* Added dict/pool.sort()Clifford Wolf2015-01-241-0/+2
|
* Cosmetic changes in verilog output formatClifford Wolf2015-01-021-5/+10
|
* Replaced std::unordered_map as implementation for Yosys::dictClifford Wolf2014-12-261-25/+25
|
* Added Yosys::{dict,nodict,vector} container typesClifford Wolf2014-12-261-1/+1
|
* Added $dffe support to write_verilogClifford Wolf2014-12-201-3/+14
|
* Fixed generation of temp names in verilog backendClifford Wolf2014-11-071-4/+5
|
* Renamed SIZE() to GetSize() because of name collision on Win32Clifford Wolf2014-10-101-1/+1
|
* namespace YosysClifford Wolf2014-09-271-4/+3
|
* Various bug fixes (related to $macc model testing)Clifford Wolf2014-09-061-1/+2
|
* Removed $bu0 cell typeClifford Wolf2014-09-041-1/+0
|
* Using $pos models for $bu0Clifford Wolf2014-09-031-16/+1
|
* Changed backend-api from FILE to std::ostreamClifford Wolf2014-08-231-230/+230
|
* Fixed AOI/OAI expr handling in verilog backendClifford Wolf2014-08-161-4/+4
|
* Added additional gate types: $_NAND_ $_NOR_ $_XNOR_ $_AOI3_ $_OAI3_ $_AOI4_ ↵Clifford Wolf2014-08-161-4/+40
| | | | $_OAI4_
* Renamed $_INV_ cell type to $_NOT_Clifford Wolf2014-08-151-1/+1
|
* Refactoring of CellType classClifford Wolf2014-08-141-10/+28
|
* Be more conservative with printing decimal numbers in verilog backendClifford Wolf2014-08-021-2/+3
|
* Improved verilog output for ordinary $mux cellsClifford Wolf2014-08-021-3/+19
|
* More cleanups related to RTLIL::IdString usageClifford Wolf2014-08-021-6/+6
|
* Renamed port access function on RTLIL::Cell, added param access functionsClifford Wolf2014-07-311-40/+40
|
* Added support for "upto" wires to Verilog front- and back-endClifford Wolf2014-07-281-9/+22
|
* Using log_assert() instead of assert()Clifford Wolf2014-07-281-3/+2
|
/span> * * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state. * \param[in] EndpointProperty Property of the endpoint to get or set, a value from Audio_ClassRequests_t. * \param[in] EndpointAddress Address of the streaming endpoint whose property is being referenced. * \param[in] EndpointControl Parameter of the endpoint to get or set, a value from Audio_EndpointControls_t. * \param[in,out] DataLength For SET operations, the length of the parameter data to set. For GET operations, the maximum * length of the retrieved data. When NULL, the function should return whether the given property * and parameter is valid for the requested endpoint without reading or modifying the Data buffer. * \param[in,out] Data Pointer to a location where the parameter data is stored for SET operations, or where * the retrieved data is to be stored for GET operations. * * \return Boolean \c true if the property get/set was successful, \c false otherwise */ bool CALLBACK_Audio_Device_GetSetEndpointProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo, const uint8_t EndpointProperty, const uint8_t EndpointAddress, const uint8_t EndpointControl, uint16_t* const DataLength, uint8_t* Data) { /* Check the requested endpoint to see if a supported endpoint is being manipulated */ if (EndpointAddress == Microphone_Audio_Interface.Config.DataINEndpoint.Address) { /* Check the requested control to see if a supported control is being manipulated */ if (EndpointControl == AUDIO_EPCONTROL_SamplingFreq) { switch (EndpointProperty) { case AUDIO_REQ_SetCurrent: /* Check if we are just testing for a valid property, or actually adjusting it */ if (DataLength != NULL) { /* Set the new sampling frequency to the value given by the host */ CurrentAudioSampleFrequency = (((uint32_t)Data[2] << 16) | ((uint32_t)Data[1] << 8) | (uint32_t)Data[0]); /* Adjust sample reload timer to the new frequency */ OCR0A = ((F_CPU / 8 / CurrentAudioSampleFrequency) - 1); } return true; case AUDIO_REQ_GetCurrent: /* Check if we are just testing for a valid property, or actually reading it */ if (DataLength != NULL) { *DataLength = 3; Data[2] = (CurrentAudioSampleFrequency >> 16); Data[1] = (CurrentAudioSampleFrequency >> 8); Data[0] = (CurrentAudioSampleFrequency & 0xFF); } return true; } } } return false; } /** Audio class driver callback for the setting and retrieval of streaming interface properties. This callback must be implemented * in the user application to handle property manipulations on streaming audio interfaces. * * When the DataLength parameter is NULL, this callback should only indicate whether the specified operation is valid for * the given entity and should return as fast as possible. When non-NULL, this value may be altered for GET operations * to indicate the size of the retrieved data. * * \note The length of the retrieved data stored into the Data buffer on GET operations should not exceed the initial value * of the \c DataLength parameter. * * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state. * \param[in] Property Property of the interface to get or set, a value from Audio_ClassRequests_t. * \param[in] EntityAddress Address of the audio entity whose property is being referenced. * \param[in] Parameter Parameter of the entity to get or set, specific to each type of entity (see USB Audio specification). * \param[in,out] DataLength For SET operations, the length of the parameter data to set. For GET operations, the maximum * length of the retrieved data. When NULL, the function should return whether the given property * and parameter is valid for the requested endpoint without reading or modifying the Data buffer. * \param[in,out] Data Pointer to a location where the parameter data is stored for SET operations, or where * the retrieved data is to be stored for GET operations. * * \return Boolean \c true if the property GET/SET was successful, \c false otherwise */ bool CALLBACK_Audio_Device_GetSetInterfaceProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo, const uint8_t Property, const uint8_t EntityAddress, const uint16_t Parameter, uint16_t* const DataLength, uint8_t* Data) { /* No audio interface entities in the device descriptor, thus no properties to get or set. */ return false; }